1 |
From 00b67f55727bc0944c3266e2b875440da132ce4b Mon Sep 17 00:00:00 2001 |
2 |
From: zhailiangliang <zhailiangliang@loongson.cn> |
3 |
Date: Wed, 21 Sep 2022 10:30:38 +0800 |
4 |
Subject: [PATCH] Fix potential memory leak in GLES_CreateTexture |
5 |
|
6 |
--- |
7 |
src/render/opengles/SDL_render_gles.c | 6 ++++++ |
8 |
1 file changed, 6 insertions(+) |
9 |
|
10 |
diff --git a/src/render/opengles/SDL_render_gles.c b/src/render/opengles/SDL_render_gles.c |
11 |
index a5fbab309..ba08a46e2 100644 |
12 |
--- a/src/render/opengles/SDL_render_gles.c |
13 |
+++ b/src/render/opengles/SDL_render_gles.c |
14 |
@@ -359,6 +359,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) |
15 |
renderdata->glGenTextures(1, &data->texture); |
16 |
result = renderdata->glGetError(); |
17 |
if (result != GL_NO_ERROR) { |
18 |
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) { |
19 |
+ SDL_free(data->pixels); |
20 |
+ } |
21 |
SDL_free(data); |
22 |
return GLES_SetError("glGenTextures()", result); |
23 |
} |
24 |
@@ -387,6 +390,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) |
25 |
|
26 |
result = renderdata->glGetError(); |
27 |
if (result != GL_NO_ERROR) { |
28 |
+ if (texture->access == SDL_TEXTUREACCESS_STREAMING) { |
29 |
+ SDL_free(data->pixels); |
30 |
+ } |
31 |
SDL_free(data); |
32 |
return GLES_SetError("glTexImage2D()", result); |
33 |
} |
34 |
-- |
35 |
2.39.0 |
36 |
|