diff options
author | Matt Oliver <protogonoi@gmail.com> | 2018-04-10 16:01:18 +0300 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2018-05-01 22:21:02 +0300 |
commit | 29328d96b90fc20048803201b379c6c6a18661b4 (patch) | |
tree | 2a831c5ec9c303c9e75c9b106d21fbf2acb31e2b /fftools | |
parent | 44cb6474770e6603913cb76e3be4278f663aad3e (diff) |
ffplay: Fix realloc_texture when input texture is NULL.
SDL_QueryTexture and SDL_DestroyTexture require that the input texture
pointer be non-null. Debug builds of SDL will correctly check for this
and break program execution. This patch fixes this by checking the
status of the texture pointer.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
(cherry picked from commit 6be690685a8876a61f87b2b8bf30547e09030a96)
Diffstat (limited to 'fftools')
-rw-r--r-- | fftools/ffplay.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fftools/ffplay.c b/fftools/ffplay.c index bc9ddb8885..dcca9c26d8 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -834,10 +834,11 @@ static int realloc_texture(SDL_Texture **texture, Uint32 new_format, int new_wid { Uint32 format; int access, w, h; - if (SDL_QueryTexture(*texture, &format, &access, &w, &h) < 0 || new_width != w || new_height != h || new_format != format) { + if (!*texture || SDL_QueryTexture(*texture, &format, &access, &w, &h) < 0 || new_width != w || new_height != h || new_format != format) { void *pixels; int pitch; - SDL_DestroyTexture(*texture); + if (*texture) + SDL_DestroyTexture(*texture); if (!(*texture = SDL_CreateTexture(renderer, new_format, SDL_TEXTUREACCESS_STREAMING, new_width, new_height))) return -1; if (SDL_SetTextureBlendMode(*texture, blendmode) < 0) |