34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From 00b67f55727bc0944c3266e2b875440da132ce4b Mon Sep 17 00:00:00 2001
|
|
From: zhailiangliang <zhailiangliang@loongson.cn>
|
|
Date: Wed, 21 Sep 2022 10:30:38 +0800
|
|
Subject: [PATCH] Fix potential memory leak in GLES_CreateTexture
|
|
|
|
---
|
|
src/render/opengles/SDL_render_gles.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/src/render/opengles/SDL_render_gles.c b/src/render/opengles/SDL_render_gles.c
|
|
index a5fbab309eda..ba08a46e2805 100644
|
|
--- a/src/render/opengles/SDL_render_gles.c
|
|
+++ b/src/render/opengles/SDL_render_gles.c
|
|
@@ -359,6 +359,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
renderdata->glGenTextures(1, &data->texture);
|
|
result = renderdata->glGetError();
|
|
if (result != GL_NO_ERROR) {
|
|
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) {
|
|
+ SDL_free(data->pixels);
|
|
+ }
|
|
SDL_free(data);
|
|
return GLES_SetError("glGenTextures()", result);
|
|
}
|
|
@@ -387,6 +390,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
|
|
|
|
result = renderdata->glGetError();
|
|
if (result != GL_NO_ERROR) {
|
|
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) {
|
|
+ SDL_free(data->pixels);
|
|
+ }
|
|
SDL_free(data);
|
|
return GLES_SetError("glTexImage2D()", result);
|
|
}
|