summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/gl_common/evas_gl_texture.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-12 17:25:15 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-12 17:25:15 +0900
commit8845ecb2b2bca5c0db018a89630bd256dc5eef3e (patch)
treec0ae3709b4fad82fc27f3d72541dd7f20d03819b /src/modules/evas/engines/gl_common/evas_gl_texture.c
parent55715ccf054219ef9dd5ee8ab3aa13f5f07aa7b5 (diff)
evas gl common - fix potential invalid access during texture free
this should address CID 1223507
Diffstat (limited to '')
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_texture.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c
index 44c86abcb5..ec1255c275 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_texture.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c
@@ -1394,25 +1394,25 @@ evas_gl_common_texture_free(Evas_GL_Texture *tex, Eina_Bool force EINA_UNUSED)
1394 if (tex->pt) 1394 if (tex->pt)
1395 { 1395 {
1396 tex->pt->allocations = eina_list_remove(tex->pt->allocations, tex->apt); 1396 tex->pt->allocations = eina_list_remove(tex->pt->allocations, tex->apt);
1397 if (tex->apt) 1397 if (tex->apt) eina_rectangle_pool_release(tex->apt);
1398 eina_rectangle_pool_release(tex->apt);
1399 tex->apt = NULL; 1398 tex->apt = NULL;
1400 pt_unref(tex->pt); 1399 pt_unref(tex->pt);
1400 tex->pt = NULL;
1401 } 1401 }
1402 if (tex->ptt) 1402 if (tex->ptt)
1403 { 1403 {
1404 tex->ptt->allocations = eina_list_remove(tex->ptt->allocations, tex->aptt); 1404 tex->ptt->allocations = eina_list_remove(tex->ptt->allocations, tex->aptt);
1405 if (tex->aptt) 1405 if (tex->aptt) eina_rectangle_pool_release(tex->aptt);
1406 eina_rectangle_pool_release(tex->aptt);
1407 tex->aptt = NULL; 1406 tex->aptt = NULL;
1408 pt_unref(tex->ptt); 1407 pt_unref(tex->ptt);
1408 tex->ptt = NULL;
1409 } 1409 }
1410 if (tex->ptu) 1410 if (tex->ptu) pt_unref(tex->ptu);
1411 pt_unref(tex->ptu); 1411 if (tex->ptv) pt_unref(tex->ptv);
1412 if (tex->ptv) 1412 if (tex->ptuv) pt_unref(tex->ptuv);
1413 pt_unref(tex->ptv); 1413 tex->ptu = NULL;
1414 if (tex->ptuv) 1414 tex->ptv = NULL;
1415 pt_unref(tex->ptuv); 1415 tex->ptuv = NULL;
1416 1416
1417 evas_gl_common_texture_light_free(tex); 1417 evas_gl_common_texture_light_free(tex);
1418} 1418}