blob: 2db67966cf24e69a093cfb661f1e9bc9b404faa6 [file] [log] [blame]
William A. Kennington IIIb95905d2021-06-02 12:40:56 -07001From 97fefd050976bbbfca9608499f6a7d9fb86e70db Mon Sep 17 00:00:00 2001
2From: Sam Lantinga <slouken@libsdl.org>
3Date: Tue, 30 Jul 2019 11:00:00 -0700
4Subject: [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
9diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c
10index 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--
262.25.1
27