In error path, assigned pointer is not cleared after free. Fix
to avoid possible use-after-free with the not cleared pointer.
Change-Id: Idaa222afc9660e68cc5021bd251f21cd47e30b97
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
sysdata = calloc(1, sizeof(struct system_resouce_data));
if (!sysdata)
return -ENOMEM;
- res->priv = (void *)sysdata;
ret = kernel_get_possible_cpu_num();
if (ret < 0) {
goto err_prev_cpus;
}
+ res->priv = (void *)sysdata;
+
return 0;
err_prev_cpus:
err:
sysdata->num_possible_cpus = 0;
free(sysdata);
- sysdata = NULL;
return ret;
}