From: Jeongmo Yang Date: Mon, 19 Oct 2020 05:59:31 +0000 (+0900) Subject: Fix ASAN issue : heap-use-after-free X-Git-Tag: submit/tizen/20201026.104417~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6652c1a3d729966581bc539a698f173e5d0bb24;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git Fix ASAN issue : heap-use-after-free - Prevent to access freed element in gstreamer asynchronous callback. [Version] 0.10.219 [Issue Type] ASAN Change-Id: I094947f7293bf6db3b0e7e359829961c47377377 Signed-off-by: Jeongmo Yang --- diff --git a/packaging/libmm-camcorder.spec b/packaging/libmm-camcorder.spec index ca631af..2284ad7 100755 --- a/packaging/libmm-camcorder.spec +++ b/packaging/libmm-camcorder.spec @@ -1,6 +1,6 @@ Name: libmm-camcorder Summary: Camera and recorder library -Version: 0.10.218 +Version: 0.10.219 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_camcorder_internal.c b/src/mm_camcorder_internal.c index 24f4eb4..b4a0859 100644 --- a/src/mm_camcorder_internal.c +++ b/src/mm_camcorder_internal.c @@ -3532,14 +3532,17 @@ static gboolean __mmcamcorder_handle_gst_error(MMHandleType handle, GstMessage * mmf_return_val_if_fail(hcamcorder, FALSE); mmf_return_val_if_fail(error, FALSE); + sc = MMF_CAMCORDER_SUBCONTEXT(handle); mmf_return_val_if_fail(sc, FALSE); - MMCAM_LOG_INFO(""); + MMCAM_LOG_INFO("error code %d", error->code); + + mmf_return_val_if_fail(hcamcorder->state >= MM_CAMCORDER_STATE_READY, FALSE); /* filtering filesink related errors */ if (hcamcorder->state == MM_CAMCORDER_STATE_RECORDING && - (error->code == GST_RESOURCE_ERROR_WRITE || error->code == GST_RESOURCE_ERROR_SEEK)) { + (error->code == GST_RESOURCE_ERROR_WRITE || error->code == GST_RESOURCE_ERROR_SEEK)) { if (sc->ferror_count == 2 && sc->ferror_send == FALSE) { sc->ferror_send = TRUE; msg.param.code = __mmcamcorder_gst_handle_resource_error(handle, error->code, message);