Browse Source

Fixed bug 2657 - Memory leak in GL_CreateTexture function

Nitz

In GL_CreateTexture function:

if (GL_CheckError("glGenTexures()", renderer) < 0) {
        SDL_free(data);
        return -1;
    }

Here only data is getting free but data->pixels getting leak.
So have to free data->pixels before free data.
Sam Lantinga 10 years ago
parent
commit
dfc7535ff7
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/render/opengl/SDL_render_gl.c

+ 3 - 0
src/render/opengl/SDL_render_gl.c

@@ -688,6 +688,9 @@ GL_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
     GL_CheckError("", renderer);
     renderdata->glGenTextures(1, &data->texture);
     if (GL_CheckError("glGenTexures()", renderer) < 0) {
+        if (data->pixels) {
+            SDL_free(data->pixels);
+        }
         SDL_free(data);
         return -1;
     }