|
@@ -150,6 +150,8 @@ SDL_LoadBMP_RW(SDL_RWops * src, int freesrc)
|
|
|
biBitCount = SDL_ReadLE16(src);
|
|
|
biCompression = BI_RGB;
|
|
|
} else {
|
|
|
+ const int headerSize = 40;
|
|
|
+
|
|
|
biWidth = SDL_ReadLE32(src);
|
|
|
biHeight = SDL_ReadLE32(src);
|
|
|
/* biPlanes = */ SDL_ReadLE16(src);
|
|
@@ -160,6 +162,10 @@ SDL_LoadBMP_RW(SDL_RWops * src, int freesrc)
|
|
|
/* biYPelsPerMeter = */ SDL_ReadLE32(src);
|
|
|
biClrUsed = SDL_ReadLE32(src);
|
|
|
/* biClrImportant = */ SDL_ReadLE32(src);
|
|
|
+
|
|
|
+ if (biSize > headerSize) {
|
|
|
+ SDL_RWseek(src, (biSize - headerSize), RW_SEEK_CUR);
|
|
|
+ }
|
|
|
}
|
|
|
if (biHeight < 0) {
|
|
|
topDown = SDL_TRUE;
|