[UTC][base-utils][non-ACR][SVACE] Fix memory leak in uset
authorLukasz Pik <lu.pik@samsung.com>
Mon, 12 Mar 2018 09:43:37 +0000 (10:43 +0100)
committerhyunjee Kim <hj0426.kim@samsung.com>
Tue, 13 Mar 2018 00:24:43 +0000 (00:24 +0000)
Change-Id: Ia07a7cecb1cf99d245b453f738cb44089de6f252
Signed-off-by: Lukasz Pik <lu.pik@samsung.com>
src/utc/base-utils/utc-capi-base-utils-uset.c

index a880949..d333c72 100755 (executable)
@@ -8,6 +8,7 @@ static i18n_error_code_e ret = I18N_ERROR_NONE;
 static i18n_uset_h uset = NULL;
 static i18n_uchar32 start = 0x41;
 static i18n_uchar32 end = 0x50;
+static i18n_uchar *upattern = NULL;
 const i18n_uchar str[] = { 'm', 'a', 'r', 'k', '\0' };
 
 /**
@@ -29,6 +30,11 @@ void utc_capi_base_utils_uset_startup(void)
  */
 void utc_capi_base_utils_uset_cleanup(void)
 {
+    if (upattern) {
+        free(upattern);
+        upattern = NULL;
+    }
+
     i18n_uset_destroy(uset);
 }
 
@@ -500,7 +506,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_p(void)
 {
     assert_neq(uset, NULL);
     const char *pattern = "[:Hyphen:]";
-    i18n_uchar *upattern = NULL;
 
     upattern = (i18n_uchar*)calloc(strlen(pattern) + 1, sizeof(i18n_uchar));
     i18n_ustring_copy_ua(upattern, pattern);
@@ -509,7 +514,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_p(void)
 
     i18n_uset_apply_pattern(uset, upattern, -1, I18N_USET_IGNORE_SPACE);
 
-    free(upattern);
     ret = get_last_result();
     assert_eq(ret, I18N_ERROR_NONE);
 
@@ -525,7 +529,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_p(void)
 int utc_capi_base_utils_i18n_uset_apply_pattern_n(void)
 {
     const char *pattern = "[:Hyphen:]";
-    i18n_uchar *upattern = NULL;
 
     upattern = (i18n_uchar*)calloc(strlen(pattern) + 1, sizeof(i18n_uchar));
     i18n_ustring_copy_ua(upattern, pattern);
@@ -534,7 +537,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_n(void)
 
     i18n_uset_apply_pattern(NULL, upattern, -1, I18N_USET_IGNORE_SPACE);
 
-    free(upattern);
     ret = get_last_result();
     assert_eq(ret, I18N_ERROR_INVALID_PARAMETER);
 
@@ -566,7 +568,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_n2(void)
 int utc_capi_base_utils_i18n_uset_apply_pattern_n3(void)
 {
     const char *pattern = "[:Hyphen:]";
-    i18n_uchar *upattern = NULL;
 
     upattern = (i18n_uchar*)calloc(strlen(pattern) + 1, sizeof(i18n_uchar));
     i18n_ustring_copy_ua(upattern, pattern);
@@ -575,7 +576,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_n3(void)
 
     i18n_uset_apply_pattern(uset, upattern, -2, I18N_USET_IGNORE_SPACE);
 
-    free(upattern);
     ret = get_last_result();
     assert_eq(ret, I18N_ERROR_INVALID_PARAMETER);
 
@@ -591,7 +591,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_n3(void)
 int utc_capi_base_utils_i18n_uset_apply_pattern_n4(void)
 {
     const char *pattern = "[:Hyphen:]";
-    i18n_uchar *upattern = NULL;
 
     upattern = (i18n_uchar*)calloc(strlen(pattern) + 1, sizeof(i18n_uchar));
     i18n_ustring_copy_ua(upattern, pattern);
@@ -600,7 +599,6 @@ int utc_capi_base_utils_i18n_uset_apply_pattern_n4(void)
 
     i18n_uset_apply_pattern(uset, upattern, -1, -1);
 
-    free(upattern);
     ret = get_last_result();
     assert_eq(ret, I18N_ERROR_INVALID_PARAMETER);