Fix SVACE issues - NULL_AFTER_DEREF 89/299089/2 accepted/tizen/8.0/unified/20231005.093436 accepted/tizen/unified/20230920.161450 tizen_8.0_m2_release
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 19 Sep 2023 09:48:03 +0000 (18:48 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 20 Sep 2023 01:40:28 +0000 (10:40 +0900)
[Version] 0.10.299
[Issue Type] SVACE

Change-Id: Iee35c03c497a900213b74aa47fb4a9b4b1b68007
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/libmm-camcorder.spec
src/mm_camcorder_audiorec.c
src/mm_camcorder_stillshot.c
src/mm_camcorder_videorec.c

index 3306176..f1fd1be 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       libmm-camcorder
 Summary:    Camera and recorder library
-Version:    0.10.298
+Version:    0.10.299
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index fc8768c..ccc3745 100644 (file)
@@ -735,10 +735,13 @@ static GstPadProbeReturn __mmcamcorder_audio_dataprobe_voicerecorder(GstPad *pad
        if (err < 0) {
                MMCAM_LOG_WARNING("Get attrs fail. (%s:%x)", err_name, err);
                SAFE_FREE(err_name);
-               return err;
+               return GST_PAD_PROBE_OK;
        }
 
-       gst_buffer_map(buffer, &mapinfo, GST_MAP_READWRITE);
+       if (!gst_buffer_map(buffer, &mapinfo, GST_MAP_READWRITE)) {
+               MMCAM_LOG_WARNING("map failed : buffer[%p]", buffer);
+               return GST_PAD_PROBE_OK;
+       }
 
        if (volume == 0)
                memset(mapinfo.data, 0, mapinfo.size);
@@ -756,7 +759,7 @@ static GstPadProbeReturn __mmcamcorder_audio_dataprobe_voicerecorder(GstPad *pad
                hcamcorder->astream_cb, GST_TIME_ARGS(GST_BUFFER_PTS(buffer)), format, channel, mapinfo.size, curdcb);
 
        /* CALL audio stream callback */
-       if (hcamcorder->astream_cb && buffer && mapinfo.data && mapinfo.size > 0) {
+       if (hcamcorder->astream_cb && buffer) {
                MMCamcorderAudioStreamDataType stream;
 
                stream.data = (void *)mapinfo.data;
index 0335310..a9b41ea 100644 (file)
@@ -1469,7 +1469,11 @@ static void __mmcamcorder_get_capture_data_from_buffer(MMCamcorderCaptureDataTyp
 
        memset(&mapinfo, 0x0, sizeof(GstMapInfo));
 
-       gst_buffer_map(gst_sample_get_buffer(sample), &mapinfo, GST_MAP_READ);
+       if (!gst_buffer_map(gst_sample_get_buffer(sample), &mapinfo, GST_MAP_READ)) {
+               MMCAM_LOG_ERROR("map failed : buffer[%p]", gst_sample_get_buffer(sample));
+               goto GET_FAILED;
+       }
+
        capture_data->data = mapinfo.data;
        capture_data->format = pixtype;
        gst_structure_get(structure,
index dbebd72..1f2a0a3 100644 (file)
@@ -1462,7 +1462,12 @@ static GstPadProbeReturn __mmcamcorder_video_dataprobe_encoded(GstPad *pad, GstP
                return GST_PAD_PROBE_DROP;
        }
 
-       gst_buffer_map(buffer, &mapinfo, GST_MAP_READ);
+       if (!gst_buffer_map(buffer, &mapinfo, GST_MAP_READ)) {
+               MMCAM_LOG_WARNING("map failed : buffer[%p]", buffer);
+               return GST_PAD_PROBE_OK;
+       }
+
+
        buffer_size = mapinfo.size;
        gst_buffer_unmap(buffer, &mapinfo);
 
@@ -1791,12 +1796,15 @@ static GstPadProbeReturn __mmcamcorder_audio_dataprobe_audio_mute(GstPad *pad, G
        if (err != MM_ERROR_NONE) {
                MMCAM_LOG_WARNING("Get attrs fail. (%s:%x)", err_name, err);
                SAFE_FREE(err_name);
-               return err;
+               return GST_PAD_PROBE_OK;
        }
 
        memset(&mapinfo, 0x0, sizeof(GstMapInfo));
 
-       gst_buffer_map(buffer, &mapinfo, GST_MAP_READWRITE);
+       if (!gst_buffer_map(buffer, &mapinfo, GST_MAP_READWRITE)) {
+               MMCAM_LOG_WARNING("map failed : buffer[%p]", buffer);
+               return GST_PAD_PROBE_OK;
+       }
 
        /* Set audio stream NULL */
        if (volume == 0.0)
@@ -1806,7 +1814,7 @@ static GstPadProbeReturn __mmcamcorder_audio_dataprobe_audio_mute(GstPad *pad, G
                GST_TIME_ARGS(GST_BUFFER_PTS(buffer)), hcamcorder->astream_cb, format, channel, mapinfo.size);
 
        /* CALL audio stream callback */
-       if (hcamcorder->astream_cb && buffer && mapinfo.data && mapinfo.size > 0) {
+       if (hcamcorder->astream_cb && buffer) {
                MMCamcorderAudioStreamDataType stream;
 
                if (_mmcamcorder_get_state((MMHandleType)hcamcorder) < MM_CAMCORDER_STATE_PREPARE) {