From 9b8248ac7385c65df137194ca8d5deee266a3265 Mon Sep 17 00:00:00 2001 From: Donghee Ye Date: Sat, 7 Sep 2013 16:14:58 +0900 Subject: [PATCH] Fix memory leak related to vconf_get_str Change-Id: I66728b5f06bef5eff2a7a062fba46e9dc4984eae --- common/ctsvc_normalize.c | 3 ++- server/ctsvc_server_utils.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/ctsvc_normalize.c b/common/ctsvc_normalize.c index 4d9ab2e..a32f0d1 100644 --- a/common/ctsvc_normalize.c +++ b/common/ctsvc_normalize.c @@ -364,10 +364,11 @@ static inline int __ctsvc_collation_str(const char *src, char **dest) UErrorCode status = U_ZERO_ERROR; UChar *tmp_result = NULL; UCollator *collator; - const char *region; + char *region = NULL; region = vconf_get_str(VCONFKEY_REGIONFORMAT); collator = ucol_open(region, &status); + free(region); RETVM_IF(U_FAILURE(status), CONTACTS_ERROR_SYSTEM, "ucol_open() Failed(%s)", u_errorName(status)); diff --git a/server/ctsvc_server_utils.c b/server/ctsvc_server_utils.c index 10790b0..d1bd241 100755 --- a/server/ctsvc_server_utils.c +++ b/server/ctsvc_server_utils.c @@ -103,12 +103,13 @@ void ctsvc_server_final_configuration(void) int ctsvc_server_init_configuration(void) { int ret, sim_stat=-1; - const char *langset; + char *langset = NULL; int sort_type; langset = vconf_get_str(CTSVC_SERVER_VCONF_SYSTEM_LANGUAGE); WARN_IF(NULL == langset, "vconf_get_str(%s) return NULL", CTSVC_SERVER_VCONF_SYSTEM_LANGUAGE); system_language = ctsvc_get_language_type(langset); + free(langset); ret = vconf_get_int(ctsvc_get_default_sort_vconfkey(), &sort_type); if (ret < 0 || sort_type == CTSVC_SORT_OTHERS) { -- 2.7.4