William A. Kennington III | b95905d | 2021-06-02 12:40:56 -0700 | [diff] [blame] | 1 | From 97fefd050976bbbfca9608499f6a7d9fb86e70db Mon Sep 17 00:00:00 2001 |
| 2 | From: Sam Lantinga <slouken@libsdl.org> |
| 3 | Date: Tue, 30 Jul 2019 11:00:00 -0700 |
| 4 | Subject: [PATCH] Fixed bug 4538 - validate image size when loading BMP files |
| 5 | --- |
| 6 | src/video/SDL_bmp.c | 5 +++++ |
| 7 | 1 file changed, 5 insertions(+) |
| 8 | |
| 9 | diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c |
| 10 | index 8eadc5f..5b5e12c 100644 |
| 11 | --- a/src/video/SDL_bmp.c |
| 12 | +++ b/src/video/SDL_bmp.c |
| 13 | @@ -143,6 +143,11 @@ SDL_Surface * SDL_LoadBMP_RW (SDL_RWops *src, int freesrc) |
| 14 | (void) biYPelsPerMeter; |
| 15 | (void) biClrImportant; |
| 16 | |
| 17 | + if (biWidth <= 0 || biHeight == 0) { |
| 18 | + SDL_SetError("BMP file with bad dimensions (%dx%d)", biWidth, biHeight); |
| 19 | + was_error = SDL_TRUE; |
| 20 | + goto done; |
| 21 | + } |
| 22 | if (biHeight < 0) { |
| 23 | topDown = SDL_TRUE; |
| 24 | biHeight = -biHeight; |
| 25 | -- |
| 26 | 2.25.1 |
| 27 | |