Add free() to fix memory leak at i18n_measure_format_format_measures 21/244521/1 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.121800 accepted/tizen/6.0/unified/hotfix/20201103.004028 accepted/tizen/6.0/unified/hotfix/20201103.051010 accepted/tizen/unified/20200922.090856 submit/tizen/20200922.102120 submit/tizen_6.0/20201029.205102 submit/tizen_6.0_hotfix/20201102.192502 submit/tizen_6.0_hotfix/20201103.114802 tizen_6.0.m2_release
authorJinWang An <jinwang.an@samsung.com>
Mon, 21 Sep 2020 17:12:47 +0000 (02:12 +0900)
committerJinWang An <jinwang.an@samsung.com>
Mon, 21 Sep 2020 17:23:26 +0000 (02:23 +0900)
Change-Id: If6a39bf2776d2bbd9834ea28e190b3f534532648
Signed-off-by: JinWang An <jinwang.an@samsung.com>
src/utils_i18n_measure_format.cpp

index ece211c..350ab0f 100644 (file)
@@ -242,9 +242,18 @@ int i18n_measure_format_format_measures(const i18n_measure_format_h measure_form
 
        const i18n_uchar *uchar_result = (i18n_uchar *)result.getTerminatedBuffer();
 
-       retv_if(uchar_result == NULL, I18N_ERROR_INVALID_PARAMETER);
+       if(uchar_result == NULL) {
+               ERR("result.getTerminatedBuffer() == NULL");
+               free(measure_array);
+               return I18N_ERROR_INVALID_PARAMETER;
+       }
+
        *output_length = i18n_ustring_get_length(uchar_result);
-       retv_if(append_to_size < *output_length, I18N_ERROR_BUFFER_OVERFLOW);
+       if(append_to_size < *output_length) {
+               ERR("append_to_size < *output_length");
+               free(measure_array);
+               return I18N_ERROR_BUFFER_OVERFLOW;
+       }
 
        if (*output_length > 0)
                i18n_ustring_copy_n(append_to, uchar_result, append_to_size);