From: Jeongmo Yang Date: Tue, 17 Oct 2017 10:24:49 +0000 (+0900) Subject: Fix coverity issue(memory leak, return value check, etc) X-Git-Tag: submit/tizen/20171031.024842^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F74%2F156174%2F2;p=platform%2Fcore%2Fapi%2Frecorder.git Fix coverity issue(memory leak, return value check, etc) [Version] 0.3.7 [Profile] Common [Issue Type] Bug fix [Dependency module] N/A [Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-4.0-unified_20171013.1] Change-Id: Idac2dd8ac51abea17349572e7acd28b3501aeb9c Signed-off-by: Jeongmo Yang --- diff --git a/packaging/capi-media-recorder.spec b/packaging/capi-media-recorder.spec index 88d7918..d2e2466 100644 --- a/packaging/capi-media-recorder.spec +++ b/packaging/capi-media-recorder.spec @@ -1,6 +1,6 @@ Name: capi-media-recorder Summary: A Recorder API -Version: 0.3.6 +Version: 0.3.7 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/recorder.c b/src/recorder.c index 614ebcc..d6c7936 100644 --- a/src/recorder.c +++ b/src/recorder.c @@ -1029,6 +1029,11 @@ static void *_recorder_msg_recv_func(gpointer data) LOGW("incompleted message [len %d]", remained_length); + if (remained_msg) { + free(remained_msg); + remained_msg = NULL; + } + remained_msg = (char *)malloc(remained_length + 1); if (remained_msg) { strncpy(remained_msg, recv_msg + prev_pos, remained_length); diff --git a/test/recorder_test.c b/test/recorder_test.c index ce48d36..c3d0bab 100644 --- a/test/recorder_test.c +++ b/test/recorder_test.c @@ -325,7 +325,7 @@ static void _recording_muxed_stream_cb(void *stream, int size, unsigned long lon g_print("\tRECORDING MUXED STREAM CB - %p, size %d, offset %llu\n", stream, size, offset); if (stream && size > 0) { - if (access(TARGET_FILENAME_MUXED_CB, F_OK)) + if (offset == 0) fp = fopen(TARGET_FILENAME_MUXED_CB, "w"); else fp = fopen(TARGET_FILENAME_MUXED_CB, "rb+"); @@ -335,9 +335,11 @@ static void _recording_muxed_stream_cb(void *stream, int size, unsigned long lon g_print("\tback to %llu\n", offset); } - fseeko(fp, (off_t)offset, SEEK_SET); + if (fseeko(fp, (off_t)offset, SEEK_SET) == 0) + fwrite(stream, 1, size, fp); + else + g_print("\nSeek Error : offset %llu\n", offset); - fwrite(stream, 1, size, fp); fclose(fp); fp = NULL; } else {