cpu-sched: Fix memory leak when loading the cpu affinity config 99/288399/2
authorUnsung Lee <unsung.lee@samsung.com>
Thu, 16 Feb 2023 06:15:18 +0000 (15:15 +0900)
committerUnsung Lee <unsung.lee@samsung.com>
Thu, 16 Feb 2023 07:13:19 +0000 (16:13 +0900)
'name' value will not be freed when 'name' string is different from
'ForegroundApps' (return without free issue)

Change-Id: I5a2ef92944f16f518e40acb9d43285d9df3db1c6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
src/resource-optimizer/cpu/cpu-sched.c

index e6bee5c..82b11c6 100644 (file)
@@ -219,9 +219,15 @@ static int load_cpu_affinity_config(struct cpu_sched *data)
        if (get_cpu_affinity_conf_name() == NULL)
                goto cpu_affinity_set_for_fixed_app;
 
+       if (strcmp(get_cpu_affinity_conf_name(), FOREGROUND_APPS_NAME_CONF)) {
+               _E("[CPU-SCHED] Wrong name (%s), is should be 'ForegroundApps'",
+                               get_cpu_affinity_conf_name());
+               goto cpu_affinity_set_for_fixed_app;
+       }
+
        name = strdup(get_cpu_affinity_conf_name());
-       if (!name || strcmp(name, FOREGROUND_APPS_NAME_CONF)) {
-               _E("[CPU-SCHED] Failed to allocate memory during making a duplicate name or wrong name (%s)",
+       if (!name) {
+               _E("[CPU-SCHED] Failed to allocate memory during making a duplicate name (%s)",
                                get_cpu_affinity_conf_name());
                goto cpu_affinity_set_for_fixed_app;
        }