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:12 +0100
commitdf7dbfa5419053a8c1b62ef65e0c3c3cee3bbaa4 (patch)
tree80467faca456e4ffcd1b74f6a49a03a5de7c8847
parentc9fe76399c5371017ffb15d3941155ca6e34b093 (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 d579adab90..0bd9c992fc 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -758,8 +758,11 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, Evas_GL_Image *im)
758{ 758{
759 Image_Entry *ie; 759 Image_Entry *ie;
760 if (!im->im) return; 760 if (!im->im) return;
761 ie = (Image_Entry *)(im->im);
762 evas_gl_common_image_alloc_ensure(im); 761 evas_gl_common_image_alloc_ensure(im);
762
763 // alloc ensure can change im->im, so only get the local variable later.
764 ie = (Image_Entry *)(im->im);
765
763/* 766/*
764 if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) || 767 if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
765 (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL)) 768 (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))