From: jinwang.an Date: Wed, 30 Nov 2016 13:53:36 +0000 (+0900) Subject: Modified source code to memory safe when return. X-Git-Tag: accepted/tizen/3.0/common/20161207.195743^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e2009f494cbcb478b80a4d2d5541e386dc974995;p=platform%2Fcore%2Fapi%2Fsystem-settings.git Modified source code to memory safe when return. Change-Id: Ic6abd0903315b504ad9f9df668c3864f2dd7be1d Signed-off-by: jinwang.an --- diff --git a/system-settings-util/src/system_settings_util.c b/system-settings-util/src/system_settings_util.c index eb53eda..3e9c331 100644 --- a/system-settings-util/src/system_settings_util.c +++ b/system-settings-util/src/system_settings_util.c @@ -70,15 +70,26 @@ char *__get_main_font_family_name_by_alias(char *alias) FcResult res = 0; font_config = FcInitLoadConfigAndFonts(); + if (font_config == NULL) + return ret; pat = FcPatternBuild(0, FC_FAMILY, FcTypeString, alias, (char *)0); + + if (pat == NULL) { + if (font_config != NULL) { + FcConfigDestroy(font_config); + font_config = NULL; + } + return ret; + } + FcConfigSubstitute(font_config, pat, FcMatchPattern); FcDefaultSubstitute(pat); /* do matching */ set = FcFontSort(font_config, pat, FcTrue, NULL, &res); - if (set && (set->nfont > 0)) { + if (set != NULL && (set->nfont > 0)) { FcPatternGetString(set->fonts[0], FC_FAMILY, 0, &family); ret = g_strdup((char *)family); @@ -86,13 +97,20 @@ char *__get_main_font_family_name_by_alias(char *alias) set = NULL; } - if (pat) { + if (set != NULL) { + FcFontSetDestroy(set); + set = NULL; + } + + if (pat != NULL) { FcPatternDestroy(pat); pat = NULL; } - FcConfigDestroy(font_config); - font_config = NULL; + if (font_config != NULL) { + FcConfigDestroy(font_config); + font_config = NULL; + } return ret; }