summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvain Becker <sylvain.becker@gmail.com>2021-01-30 20:09:35 +0100
committerSylvain Becker <sylvain.becker@gmail.com>2021-01-30 20:09:35 +0100
commitaf06b24af2068ba10e5400b75304fdd1e37407aa (patch)
tree0b31074cbfdcdcebbe08cf9655b70ba008c6ffb6
parent4837fd31d11e7869b3cdee4084d69841453501a7 (diff)
downloadsdl-af06b24af2068ba10e5400b75304fdd1e37407aa.tar.gz
Revert checks on destination scaling size (see bug #5510)
-rw-r--r--src/video/SDL_stretch.c5
-rw-r--r--src/video/SDL_surface.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/video/SDL_stretch.c b/src/video/SDL_stretch.c
index e4424fbcc..a6480e995 100644
--- a/src/video/SDL_stretch.c
+++ b/src/video/SDL_stretch.c
@@ -94,8 +94,9 @@ SDL_UpperSoftStretch(SDL_Surface * src, const SDL_Rect * srcrect,
return 0;
}
- if (srcrect->w > SDL_MAX_UINT16 || srcrect->h > SDL_MAX_UINT16) {
- return SDL_SetError("Source size too large for scaling");
+ if (srcrect->w > SDL_MAX_UINT16 || srcrect->h > SDL_MAX_UINT16 ||
+ dstrect->w > SDL_MAX_UINT16 || dstrect->h > SDL_MAX_UINT16) {
+ return SDL_SetError("Size too large for scaling");
}
/* Lock the destination if it's in hardware */
diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c
index bb227f2cd..bbbe7b54d 100644
--- a/src/video/SDL_surface.c
+++ b/src/video/SDL_surface.c
@@ -931,8 +931,9 @@ SDL_PrivateLowerBlitScaled(SDL_Surface * src, SDL_Rect * srcrect,
SDL_COPY_COLORKEY
);
- if (srcrect->w > SDL_MAX_UINT16 || srcrect->h > SDL_MAX_UINT16) {
- return SDL_SetError("Source size too large for scaling");
+ if (srcrect->w > SDL_MAX_UINT16 || srcrect->h > SDL_MAX_UINT16 ||
+ dstrect->w > SDL_MAX_UINT16 || dstrect->h > SDL_MAX_UINT16) {
+ return SDL_SetError("Size too large for scaling");
}
if (!(src->map->info.flags & SDL_COPY_NEAREST)) {