From: Seungbae Shin Date: Wed, 1 Feb 2017 08:46:50 +0000 (+0900) Subject: Fix memory leak : valgrind X-Git-Tag: accepted/tizen/3.0/common/20170202.151055~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79e42c69fd20483196f2773ea059e8330c9d6797;p=platform%2Fcore%2Fapi%2Faudio-io.git Fix memory leak : valgrind [Version] 0.3.60 [Profile] Common [Issue Type] Memory Leak Change-Id: Ia45b3bb108c57f0ccdc60441cd11a23a3213846b --- diff --git a/packaging/capi-media-audio-io.spec b/packaging/capi-media-audio-io.spec index c9b320b..35d8af1 100644 --- a/packaging/capi-media-audio-io.spec +++ b/packaging/capi-media-audio-io.spec @@ -1,6 +1,6 @@ Name: capi-media-audio-io Summary: An Audio Input & Audio Output library in Tizen Native API -Version: 0.3.59 +Version: 0.3.60 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/cpp/CAudioInput.cpp b/src/cpp/CAudioInput.cpp index 3887ddb..9ef53dd 100644 --- a/src/cpp/CAudioInput.cpp +++ b/src/cpp/CAudioInput.cpp @@ -177,8 +177,13 @@ static bool __IsPrivilegeAllowed() { } o = pa_context_check_privilege(c, RECORDER_PRIVILEGE, __checkPrivilegeCb, &prData); + if (!o) { + pa_threaded_mainloop_unlock(prData.paMainloop); + THROW_ERROR_MSG(CAudioError::EError::ERROR_FAILED_OPERATION, "Failed to pa_context_check_privilege()"); + } while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) pa_threaded_mainloop_wait(prData.paMainloop); + pa_operation_unref(o); pa_threaded_mainloop_unlock(prData.paMainloop); pa_threaded_mainloop_stop(prData.paMainloop); diff --git a/src/cpp/CPulseAudioClient.cpp b/src/cpp/CPulseAudioClient.cpp index 9733013..8fc6bec 100644 --- a/src/cpp/CPulseAudioClient.cpp +++ b/src/cpp/CPulseAudioClient.cpp @@ -714,6 +714,7 @@ bool CPulseAudioClient::drain() throw(CAudioError) { while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) { pa_threaded_mainloop_wait(__mpMainloop); } + pa_operation_unref(o); pa_threaded_mainloop_unlock(__mpMainloop); } else { AUDIO_IO_LOGD("drain in thread"); diff --git a/test/audio_io_test.c b/test/audio_io_test.c index 70899d3..717b8d2 100644 --- a/test/audio_io_test.c +++ b/test/audio_io_test.c @@ -65,6 +65,7 @@ void play_file(char *file, int length, int ch) audio_out_destroy(output); fclose(fp); + free(buf); printf("play done\n"); }