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.
diff --git a/src/render/opengl/SDL_render_gl.c b/src/render/opengl/SDL_render_gl.c
index a23d4f0..e1c78cb 100644
--- a/src/render/opengl/SDL_render_gl.c
+++ b/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;
}