Check SDL_LockSurface() return value

This commit is contained in:
Sam Lantinga
2024-07-17 14:07:33 -07:00
parent eefcb62588
commit cd25cb3435
3 changed files with 13 additions and 4 deletions

View File

@@ -135,7 +135,9 @@ static int SW_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture,
size_t length;
if (SDL_MUSTLOCK(surface)) {
SDL_LockSurface(surface);
if (SDL_LockSurface(surface) < 0) {
return -1;
}
}
src = (Uint8 *)pixels;
dst = (Uint8 *)surface->pixels +
@@ -341,7 +343,9 @@ static int SW_RenderCopyEx(SDL_Renderer *renderer, SDL_Surface *surface, SDL_Tex
* necessary because this code is going to access the pixel buffer directly.
*/
if (SDL_MUSTLOCK(src)) {
SDL_LockSurface(src);
if (SDL_LockSurface(src) < 0) {
return -1;
}
}
/* Clone the source surface but use its pixel buffer directly.

View File

@@ -561,7 +561,10 @@ SDL_Surface *SDLgfx_rotateSurface(SDL_Surface *src, double angle, int smooth, in
/* Lock source surface */
if (SDL_MUSTLOCK(src)) {
SDL_LockSurface(src);
if (SDL_LockSurface(src) < 0) {
SDL_DestroySurface(rz_dst);
return NULL;
}
}
/* check if the rotation is a multiple of 90 degrees so we can take a fast path and also somewhat reduce

View File

@@ -2045,7 +2045,9 @@ int SDL_ReadSurfacePixel(SDL_Surface *surface, int x, int y, Uint8 *r, Uint8 *g,
bytes_per_pixel = SDL_BYTESPERPIXEL(surface->format);
if (SDL_MUSTLOCK(surface)) {
SDL_LockSurface(surface);
if (SDL_LockSurface(surface) < 0) {
return -1;
}
}
p = (Uint8 *)surface->pixels + y * surface->pitch + x * bytes_per_pixel;