|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
/* stb_image - v2.27 - public domain image loader - http://nothings.org/stb
|
|
|
|
|
/* stb_image - v2.27x - public domain image loader - http://nothings.org/stb
|
|
|
|
|
no warranty implied; use at your own risk |
|
|
|
|
|
|
|
|
|
Do this: |
|
|
|
@ -3377,15 +3377,19 @@ 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
|
|
|
|
|
} |
|
|
|
|
m = stbi__get_marker(j); |
|
|
|
|
if (STBI__RESTART(m)) |
|
|
|
|
m = stbi__get_marker(j); |
|
|
|
|
} else if (stbi__DNL(m)) { |
|
|
|
|
int Ld = stbi__get16be(j->s); |
|
|
|
|
stbi__uint32 NL = stbi__get16be(j->s); |
|
|
|
|
if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); |
|
|
|
|
if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); |
|
|
|
|
m = stbi__get_marker(j); |
|
|
|
|
} else { |
|
|
|
|
if (!stbi__process_marker(j, m)) return 0; |
|
|
|
|
if (!stbi__process_marker(j, m)) return 1; |
|
|
|
|
m = stbi__get_marker(j); |
|
|
|
|
} |
|
|
|
|
m = stbi__get_marker(j); |
|
|
|
|
} |
|
|
|
|
if (j->progressive) |
|
|
|
|
stbi__jpeg_finish(j); |
|
|
|
|