Fixed loading 32-bit BMP files
diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c
index 03b3e2f..cb22044 100644
--- a/src/video/SDL_bmp.c
+++ b/src/video/SDL_bmp.c
@@ -394,12 +394,6 @@ SDL_LoadBMP_RW(SDL_RWops * src, int freesrc)
break;
}
- if (biBitCount >= 32) { /* we shift biClrUsed by this value later. */
- SDL_SetError("Unsupported or incorrect biBitCount field");
- was_error = SDL_TRUE;
- goto done;
- }
-
/* Create a compatible surface, note that the colors are RGB ordered */
surface =
SDL_CreateRGBSurface(0, biWidth, biHeight, biBitCount, Rmask, Gmask,
@@ -418,6 +412,12 @@ SDL_LoadBMP_RW(SDL_RWops * src, int freesrc)
goto done;
}
+ if (biBitCount >= 32) { /* we shift biClrUsed by this value later. */
+ SDL_SetError("Unsupported or incorrect biBitCount field");
+ was_error = SDL_TRUE;
+ goto done;
+ }
+
if (biClrUsed == 0) {
biClrUsed = 1 << biBitCount;
}