Release version 1.6.1-2 56/54556/1 accepted/tizen/mobile/20151218.044047 accepted/tizen/tv/20151218.044026 accepted/tizen/wearable/20151218.044041 submit/tizen/20151218.003937
authorJeongmo Yang <jm80.yang@samsung.com>
Wed, 16 Dec 2015 06:18:07 +0000 (15:18 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 16 Dec 2015 06:18:07 +0000 (15:18 +0900)
1. [v4l2] Fix prevent issue - Dereference before NULL check

Change-Id: I5581cd284892c8445a497a8d6f776d63f925f6e1
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/gst-plugins-good.spec
sys/v4l2/v4l2_calls.c

index 8691bd4..d1679d3 100644 (file)
@@ -3,7 +3,7 @@
 
 Name:           gst-plugins-good
 Version:        1.6.1
-Release:        1
+Release:        2
 License:        LGPL-2.1+
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
 Url:            http://gstreamer.freedesktop.org/
index 195c10a..dae1213 100644 (file)
@@ -534,6 +534,11 @@ gst_v4l2_open (GstV4l2Object * v4l2object)
   glob_t glob_buf;
 
   memset(&glob_buf, 0x0, sizeof(glob_t));
+
+  if (!v4l2object) {
+    GST_ERROR("v4l2object is NULL");
+    return FALSE;
+  }
 #endif /* GST_EXT_V4L2SRC_MODIFIED */
 
   GST_DEBUG_OBJECT (v4l2object->element, "Trying to open device %s",
@@ -547,6 +552,11 @@ gst_v4l2_open (GstV4l2Object * v4l2object)
     v4l2object->videodev = g_strdup ("/dev/video");
 
 #ifdef GST_EXT_V4L2SRC_MODIFIED
+  if (!v4l2object->videodev) {
+    GST_ERROR_OBJECT(v4l2object->element, "videodev is NULL");
+    return FALSE;
+  }
+
 CHECK_AGAIN:
 #endif /* GST_EXT_V4L2SRC_MODIFIED */
   /* check if it is a device */
@@ -692,6 +702,7 @@ pre_error_check:
     if (glob_buf.gl_pathc > 0 && device_index < glob_buf.gl_pathc) {
       if (v4l2object->videodev) {
         g_free(v4l2object->videodev);
+        v4l2object->videodev = NULL;
       }
       v4l2object->videodev = g_strdup(glob_buf.gl_pathv[device_index]);
       if (v4l2object->videodev) {