Bladeren bron

fix stbi__parse_png_file() reading too much bytes (thanks @miniupnp!)

just "rewind" the bytes that have been read past the IEND chunk.
Sam Lantinga 1 maand geleden
bovenliggende
commit
e6a24fcbb5
1 gewijzigde bestanden met toevoegingen van 4 en 0 verwijderingen
  1. 4 0
      src/video/stb_image.h

+ 4 - 0
src/video/stb_image.h

@@ -5465,6 +5465,10 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp, unsigned i
             STBI_FREE(z->expanded); z->expanded = NULL;
             // end of PNG chunk, read and skip CRC
             stbi__get32be(s);
+            if (s->io.skip && s->img_buffer_end > s->img_buffer) {
+               // rewind the additional bytes that have been read to the buffer
+               (s->io.skip)(s->io_user_data, (int)(s->img_buffer - s->img_buffer_end));
+            }
             return 1;
          }