From ceb763fd42b1f4f8bdb4ca0e451013668e6836c0 Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Wed, 16 Dec 2015 15:18:07 +0900 Subject: [PATCH] Release version 1.6.1-2 1. [v4l2] Fix prevent issue - Dereference before NULL check Change-Id: I5581cd284892c8445a497a8d6f776d63f925f6e1 Signed-off-by: Jeongmo Yang --- packaging/gst-plugins-good.spec | 2 +- sys/v4l2/v4l2_calls.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packaging/gst-plugins-good.spec b/packaging/gst-plugins-good.spec index 8691bd4..d1679d3 100644 --- a/packaging/gst-plugins-good.spec +++ b/packaging/gst-plugins-good.spec @@ -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/ diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index 195c10a..dae1213 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -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) { -- 2.7.4