2
0
Эх сурвалжийг харах

stb_image: JPEG: Accept DNL segment

Jeremy Sawicki 8 жил өмнө
parent
commit
2219a6da29
1 өөрчлөгдсөн 5 нэмэгдсэн , 0 устгасан
  1. 5 0
      stb_image.h

+ 5 - 0
stb_image.h

@@ -3129,6 +3129,11 @@ static int stbi__decode_jpeg_image(stbi__jpeg *j)
             }
             // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0
          }
+      } else if (stbi__DNL(m)) {
+         int Ld = stbi__get16be(j->s);
+         stbi__uint32 NL = stbi__get16be(j->s);
+         if (Ld != 4) stbi__err("bad DNL len", "Corrupt JPEG");
+         if (NL != j->s->img_y) stbi__err("bad DNL height", "Corrupt JPEG");
       } else {
          if (!stbi__process_marker(j, m)) return 0;
       }