switch (type) {
case PASS_GOV_STEP:
case PASS_GOV_RADIATION:
- hotplug = malloc(sizeof(struct pass_hotplug));
+ hotplug = calloc(1, sizeof(struct pass_hotplug));
if (!hotplug) {
_E("cannot allocate the memory of struct pass_hotplug");
return NULL;
scenario->num_scenarios = atoi(result->value);
if (scenario->num_scenarios > 0 && !scenario->list) {
- scenario->list = malloc(sizeof(struct pass_scenario)
- * scenario->num_scenarios);
+ scenario->list = calloc(scenario->num_scenarios,
+ sizeof(struct pass_scenario));
if (!scenario->list) {
_E("cannot allocate memory for Scenario\n");
return -EINVAL;
}
if (policy->num_levels > 0 && !policy->pass_table) {
- policy->pass_table = malloc(sizeof(struct pass_table)
- * policy->num_levels);
+ policy->pass_table = calloc(policy->num_levels,
+ sizeof(struct pass_table));
if (!policy->pass_table) {
_E("cannot allocate memory for pass_table\n");
return -EINVAL;
}
- /*
- * TODO: This is a dangerous way to initialize C-style struct type
- * pointer variables. When we refactor source code of PASS, it is
- * required to better use consturctor functions.
- */
-
- if (!memset(policy->pass_table, 0,
- sizeof(struct pass_table) * policy->num_levels)){
- _E("cannot initialize pass_table\n");
- return -EINVAL;
- }
}
return 0;
policy->cpufreq.num_nr_cpus = max_cpu;
/* Allocate memory according to the number of data and cpu */
- policy->pass_cpu_stats = malloc(sizeof(struct pass_cpu_stats)
- * policy->num_pass_cpu_stats);
+ policy->pass_cpu_stats = calloc(policy->num_pass_cpu_stats,
+ sizeof(struct pass_cpu_stats));
for (i = 0; i < policy->num_pass_cpu_stats; i++) {
policy->pass_cpu_stats[i].load =
- malloc(sizeof(unsigned int) * policy->cpufreq.num_nr_cpus);
+ calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
policy->pass_cpu_stats[i].nr_running =
- malloc(sizeof(unsigned int) * policy->cpufreq.num_nr_cpus);
+ calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
policy->pass_cpu_stats[i].runnable_load =
- malloc(sizeof(unsigned int) * policy->cpufreq.num_nr_cpus);
+ calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
}
/* Get the instance of PASS governor */
if (!policy->hotplug) {
_E("cannot get the instance of PASS hotplug");
} else {
- policy->hotplug->sequence = malloc(sizeof(int)
- * policy->cpufreq.num_nr_cpus);
+ policy->hotplug->sequence = calloc(policy->cpufreq.num_nr_cpus,
+ sizeof(int));
for (i = 0; i < policy->cpufreq.num_nr_cpus; i++)
policy->hotplug->sequence[i] = i + pass_res->cdata.cpu;
}
else if (MATCH(result->name, "scenario_num")) {
scenarios->num = atoi(result->value);
if (scenarios->num > 0) {
- scenarios->list = malloc(sizeof(struct scenario)*scenarios->num);
+ scenarios->list = calloc(scenarios->num,
+ sizeof(struct scenario));
if (!scenarios->list) {
_E("failed to allocat memory for scenario");
return -errno;
}
/* add cpu */
if (!found) {
- cpu = malloc(sizeof(struct pmqos_cpu));
+ cpu = calloc(1, sizeof(struct pmqos_cpu));
if (!cpu)
return -ENOMEM;
return 0;
/* allocate edbus methods structure */
- methods = malloc(sizeof(struct edbus_method)*scenarios.num);
+ methods = calloc(scenarios.num, sizeof(struct edbus_method));
if (!methods) {
_E("failed to allocate methods memory : %s", strerror(errno));
/* release scenarios memory */