From 4b3749fdb93c6426b88db216a1431fe388ad8d83 Mon Sep 17 00:00:00 2001 From: Jiyong Date: Thu, 2 May 2024 12:32:08 +0900 Subject: [PATCH] Fix memory leak for 'path' Change-Id: I086221beb8558d7bce5b0bc348e96e1a6b46f0c9 --- packaging/capi-media-controller.spec | 4 ++-- src/media_controller_util.c | 16 +++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/packaging/capi-media-controller.spec b/packaging/capi-media-controller.spec index 2042170..f944c55 100644 --- a/packaging/capi-media-controller.spec +++ b/packaging/capi-media-controller.spec @@ -1,6 +1,6 @@ Name: capi-media-controller Summary: A media controller library in Tizen Native API -Version: 1.0.0 +Version: 1.0.1 Release: 1 Group: Multimedia/API License: Apache-2.0 @@ -76,7 +76,7 @@ export LDFLAGS+=" -lgcov" %endif MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` -SO_FULLVER=0.3.0 +SO_FULLVER=0.3.1 SO_MAJORVER=`echo ${SO_FULLVER} | awk 'BEGIN {FS="."}{print $1}'` %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DSO_FULLVER=${SO_FULLVER} -DSO_MAJORVER=${SO_MAJORVER} \ %if %{on_demand} diff --git a/src/media_controller_util.c b/src/media_controller_util.c index f3cd2f7..defa949 100644 --- a/src/media_controller_util.c +++ b/src/media_controller_util.c @@ -305,12 +305,11 @@ static gchar *_mc_util_make_message_file(void) int fd = 0; gchar *path = NULL; const char *template = "XXXXXX.mc"; - GError *error = NULL; + g_autoptr(GError) error = NULL; fd = g_file_open_tmp(template, &path, &error); if (fd < 0) { mc_secure_error("g_file_open_tmp error [%s]", (error ? error->message : "none")); - g_error_free(error); return NULL; } @@ -323,24 +322,23 @@ static gchar *_mc_util_make_message_file(void) gchar *_mc_util_write_message_to_file(const gchar *data, gssize size) { - gchar *path = _mc_util_make_message_file(); - GError *error = NULL; + g_autofree gchar *path = NULL; + g_autoptr(GError) error = NULL; - mc_retvm_if(!MC_STRING_VALID(path), NULL, "invalid path %s", path); mc_retvm_if(!data, NULL, "data is null"); mc_retvm_if(size == 0, NULL, "size is 0"); mc_debug_fenter(); + path = _mc_util_make_message_file(); + mc_retvm_if(!path, NULL, "Making message file was failed"); + if (!g_file_set_contents(path, data, size, &error)) { mc_secure_error("g_file_set_contents error(%s: %s)", path, (error ? error->message : "none")); - if (error) - g_error_free(error); - g_free(path); return NULL; } mc_debug_fleave(); - return path; + return g_steal_pointer(&path); } -- 2.7.4