From: Jiyong Date: Thu, 2 May 2024 03:32:08 +0000 (+0900) Subject: Fix memory leak for 'path' X-Git-Tag: accepted/tizen/7.0/unified/20240503.164339^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_7.0;p=platform%2Fcore%2Fapi%2Fmedia-controller.git Fix memory leak for 'path' Change-Id: I086221beb8558d7bce5b0bc348e96e1a6b46f0c9 --- diff --git a/packaging/capi-media-controller.spec b/packaging/capi-media-controller.spec index 5ca0142..b06f182 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: 0.2.38 +Version: 0.2.39 Release: 1 Group: Multimedia/API License: Apache-2.0 diff --git a/src/media_controller_util.c b/src/media_controller_util.c index 476d69c..26f1c87 100644 --- a/src/media_controller_util.c +++ b/src/media_controller_util.c @@ -309,12 +309,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; } @@ -327,24 +326,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); }