summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-03-24 23:09:28 +0100
committerCedric BAIL <cedric@osg.samsung.com>2015-03-24 23:13:30 +0100
commit32ecb77191741bd6f1a90f902397bcb5f27dc341 (patch)
treec5adcf63207772d2e074723a17a33a2a139e5c0b
parent3fabf9f95297b8a1ebd61089f4268b130037ede8 (diff)
evas: fix use after free.
Thanks to Thanatermesis for tracking this in T2135.
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index daa975255c..39cf844dc9 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -661,8 +661,11 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, Evas_GL_Image *im)
661{ 661{
662 Image_Entry *ie; 662 Image_Entry *ie;
663 if (!im->im) return; 663 if (!im->im) return;
664 ie = (Image_Entry *)(im->im);
665 evas_gl_common_image_alloc_ensure(im); 664 evas_gl_common_image_alloc_ensure(im);
665
666 // alloc ensure can change im->im, so only get the local variable later.
667 ie = (Image_Entry *)(im->im);
668
666/* 669/*
667 if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) || 670 if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
668 (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL)) 671 (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))