From 721a420dc982de09cce5787e28de2e2eb3c234a7 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sat, 20 Jul 2013 21:19:20 -0400 Subject: [PATCH] Don't allocate memory if we're just going to fail when checking parameters. --- src/render/SDL_yuv_sw.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/render/SDL_yuv_sw.c b/src/render/SDL_yuv_sw.c index 3319fe4c2..5dd3ff0c7 100644 --- a/src/render/SDL_yuv_sw.c +++ b/src/render/SDL_yuv_sw.c @@ -1029,12 +1029,6 @@ SDL_SW_CreateYUVTexture(Uint32 format, int w, int h) int i; int CR, CB; - swdata = (SDL_SW_YUVTexture *) SDL_calloc(1, sizeof(*swdata)); - if (!swdata) { - SDL_OutOfMemory(); - return NULL; - } - switch (format) { case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_IYUV: @@ -1043,11 +1037,16 @@ SDL_SW_CreateYUVTexture(Uint32 format, int w, int h) case SDL_PIXELFORMAT_YVYU: break; default: - SDL_SW_DestroyYUVTexture(swdata); SDL_SetError("Unsupported YUV format"); return NULL; } + swdata = (SDL_SW_YUVTexture *) SDL_calloc(1, sizeof(*swdata)); + if (!swdata) { + SDL_OutOfMemory(); + return NULL; + } + swdata->format = format; swdata->target_format = SDL_PIXELFORMAT_UNKNOWN; swdata->w = w; @@ -1095,7 +1094,7 @@ SDL_SW_CreateYUVTexture(Uint32 format, int w, int h) swdata->planes[0] = swdata->pixels; break; default: - /* We should never get here (caught above) */ + SDL_assert(0 && "We should never get here (caught above)"); break; }