diff options
author | Chris Michael <cp.michael@samsung.com> | 2017-11-06 10:07:48 -0500 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2017-11-07 18:30:09 +0900 |
commit | 9032a6517deef0e76f1831d04dca258b00026fa3 (patch) | |
tree | 91a9f597dbfe32de1547e3dcfeac6f1891f62edc | |
parent | 0ac05964478627c5413b39f51bb87715234979a4 (diff) | |
download | efl-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.c | 2 |
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); |