From: Nishant Chaprana Date: Mon, 16 Oct 2017 06:14:42 +0000 (+0530) Subject: [Fix] Memory leak while fetching data from config file X-Git-Tag: accepted/tizen/unified/20171018.165230~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=982b58fcb98e6bfd415a7dc73454e222a971f297;p=platform%2Fcore%2Fconnectivity%2Fstc-manager.git [Fix] Memory leak while fetching data from config file Change-Id: I2126b99837fb53c9a504ba47580c2fcfba5b5fd7 Signed-off-by: Nishant Chaprana --- diff --git a/packaging/stc-manager.spec b/packaging/stc-manager.spec index cf69262..9500d61 100644 --- a/packaging/stc-manager.spec +++ b/packaging/stc-manager.spec @@ -1,6 +1,6 @@ Name: stc-manager Summary: STC(Smart Traffic Control) manager -Version: 0.0.36 +Version: 0.0.37 Release: 0 Group: Network & Connectivity/Other License: Apache-2.0 diff --git a/src/stc-manager-util.c b/src/stc-manager-util.c index 1c97e81..17f9d83 100755 --- a/src/stc-manager-util.c +++ b/src/stc-manager-util.c @@ -74,6 +74,7 @@ gboolean stc_util_get_config_bool(char *key) { char path[MAX_PATH_LENGTH]; GKeyFile *keyfile; + gboolean value; snprintf(path, sizeof(path), "%s/%s", INFO_STORAGE_DIR, INFO_CONFIG); @@ -81,13 +82,17 @@ gboolean stc_util_get_config_bool(char *key) if (!keyfile) keyfile = g_key_file_new(); - return g_key_file_get_boolean(keyfile, path, key, NULL); + value = g_key_file_get_boolean(keyfile, path, key, NULL); + g_key_file_free(keyfile); + + return value; } gchar * stc_util_get_config_str(char *key) { char path[MAX_PATH_LENGTH]; GKeyFile *keyfile; + gchar *value; snprintf(path, sizeof(path), "%s/%s", INFO_STORAGE_DIR, INFO_CONFIG); @@ -95,13 +100,17 @@ gchar * stc_util_get_config_str(char *key) if (!keyfile) keyfile = g_key_file_new(); - return g_key_file_get_string(keyfile, path, key, NULL); + value = g_key_file_get_string(keyfile, path, key, NULL); + g_key_file_free(keyfile); + + return value; } int stc_util_get_config_int(char *key) { char path[MAX_PATH_LENGTH]; GKeyFile *keyfile; + gint value; snprintf(path, sizeof(path), "%s/%s", INFO_STORAGE_DIR, INFO_CONFIG); @@ -109,7 +118,11 @@ int stc_util_get_config_int(char *key) if (!keyfile) keyfile = g_key_file_new(); - return g_key_file_get_integer(keyfile, path, key, NULL); + + value = g_key_file_get_integer(keyfile, path, key, NULL); + g_key_file_free(keyfile); + + return value; } API void stc_util_set_debuglog(int debuglog)