Fix memory leak in i18n_measure_format_format_measures() 72/244072/1 accepted/tizen/unified/20200916.121753 submit/tizen/20200915.093221
authorJinWang An <jinwang.an@samsung.com>
Tue, 15 Sep 2020 08:41:01 +0000 (17:41 +0900)
committerJinWang An <jinwang.an@samsung.com>
Tue, 15 Sep 2020 08:41:01 +0000 (17:41 +0900)
Change-Id: I7ab8de2c8b29a1e907dab9f58c549ff2fcecc43e
Signed-off-by: JinWang An <jinwang.an@samsung.com>
src/utils_i18n_measure_format.cpp

index b2a759c..ece211c 100644 (file)
@@ -226,6 +226,7 @@ int i18n_measure_format_format_measures(const i18n_measure_format_h measure_form
 
 
        Measure* measure_array = (Measure*)malloc(sizeof(Measure) * measures_count);
+       retv_if(measure_array == NULL, I18N_ERROR_OUT_OF_MEMORY);
        memset((void*)measure_array, 0, sizeof(Measure) * measures_count);
 
        for (int i = 0; i < measures_count; i++) {
@@ -248,6 +249,7 @@ int i18n_measure_format_format_measures(const i18n_measure_format_h measure_form
        if (*output_length > 0)
                i18n_ustring_copy_n(append_to, uchar_result, append_to_size);
 
+       free(measure_array);
        return _i18n_error_mapping(status);
 }