Fix the memory leak 90/281990/5 accepted/tizen_7.0_unified accepted/tizen_7.0_unified_hotfix accepted/tizen_unified tizen tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.060332 accepted/tizen/7.0/unified/hotfix/20221116.105829 accepted/tizen/unified/20220927.132352 tizen_7.0_m2_release
authorSangYoun Kwak <sy.kwak@samsung.com>
Mon, 26 Sep 2022 03:56:04 +0000 (12:56 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Mon, 26 Sep 2022 06:07:14 +0000 (15:07 +0900)
SVACE issue(WGID: 496486)
Allocated strings were not freed since allocation.

Change-Id: I356366ebbeef7c6475d38d048b78d28aa83bc506
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
src/ua.c

index ac6652e..bdbb0af 100755 (executable)
--- a/src/ua.c
+++ b/src/ua.c
@@ -1332,7 +1332,7 @@ int fota_configure_update(void)
                                update_when = get_update_when(field);
                                if (update_when < 0) {
                                        LOG("unknown update type: %s", field);
-                                       return -1;
+                                       goto error;
                                }
                                break;
                        case 3:
@@ -1360,8 +1360,9 @@ int fota_configure_update(void)
                }
                LOG("\n");
 
-               if (!part_name)
-                       return -1;
+               if (!part_name) {
+                       goto error;
+               }
 
                if ((update_type != EXTRA) || (0 == strcmp(part_name, "RAMDISK2"))) {
                        s_part_info[line_num].ua_parti_name = part_name;
@@ -1378,11 +1379,11 @@ int fota_configure_update(void)
 
                        line_num++;
                } else {
-                       if (part_name)  free(part_name);
-                       if (subj_name)  free(subj_name);
-                       if (blk_name)   free(blk_name);
-                       if (src_img_sha1) free(src_img_sha1);
-                       if (trg_img_sha1) free(trg_img_sha1);
+                       free(part_name);
+                       free(subj_name);
+                       free(blk_name);
+                       free(src_img_sha1);
+                       free(trg_img_sha1);
                }
                line = strtok_r(NULL, "\n", &ctx1);
        }
@@ -1390,6 +1391,15 @@ int fota_configure_update(void)
        LOG("Effective cfg line num = %d\n", line_num);
 
        return line_num;
+
+error:
+       free(part_name);
+       free(subj_name);
+       free(blk_name);
+       free(src_img_sha1);
+       free(trg_img_sha1);
+
+       return -1;
 }
 
 /*-----------------------------------------------------------------------------