From c6652c1a3d729966581bc539a698f173e5d0bb24 Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Mon, 19 Oct 2020 14:59:31 +0900 Subject: [PATCH] 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 --- packaging/libmm-camcorder.spec | 2 +- src/mm_camcorder_internal.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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); -- 2.34.1