summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2017-11-06 10:07:48 -0500
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-11-07 18:30:09 +0900
commit9032a6517deef0e76f1831d04dca258b00026fa3 (patch)
tree91a9f597dbfe32de1547e3dcfeac6f1891f62edc
parent0ac05964478627c5413b39f51bb87715234979a4 (diff)
downloadefl-9032a6517deef0e76f1831d04dca258b00026fa3.tar.gz
emotion: Fix data race condition
Coverity reports that we access vfmapped here without holding a lock. This patch implements eina_lock_take/release while accessing priv->vfmapped. Fixes Coverity CID1381624 @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/modules/emotion/gstreamer1/emotion_sink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/modules/emotion/gstreamer1/emotion_sink.c b/src/modules/emotion/gstreamer1/emotion_sink.c
index a4f768cd27..931368d261 100644
--- a/src/modules/emotion/gstreamer1/emotion_sink.c
+++ b/src/modules/emotion/gstreamer1/emotion_sink.c
@@ -137,6 +137,7 @@ emotion_video_sink_dispose(GObject* object)
sink = EMOTION_VIDEO_SINK(object);
priv = sink->priv;
+ eina_lock_take(&priv->m);
if (priv->vfmapped)
{
if (priv->evas_object)
@@ -166,6 +167,7 @@ emotion_video_sink_dispose(GObject* object)
priv->last_buffer = NULL;
}
+ eina_lock_release(&priv->m);
eina_lock_free(&priv->m);
eina_condition_free(&priv->c);