Turbostat: this code can fail in fact...
authorVincent Brillault <git@lerya.net>
Sat, 20 Sep 2014 16:49:57 +0000 (18:49 +0200)
committerVincent Brillault <git@lerya.net>
Sat, 28 Feb 2015 06:35:41 +0000 (07:35 +0100)
src/turbostat.c

index 0cf789e..6995df5 100644 (file)
@@ -1194,8 +1194,9 @@ topology_probe()
        free(topology.cpus);
        memset(&topology, 0, sizeof(topology));
 
-       /* Can't fail (update_max_cpu_id always returns 0) */
-       assert(for_all_proc_cpus(update_max_cpu_id));
+       ret = for_all_proc_cpus(update_max_cpu_id);
+       if (ret != 0)
+               goto err;
 
        topology.cpus = calloc(1, (topology.max_cpu_id  + 1) * sizeof(struct cpu_topology));
        if (topology.cpus == NULL) {
@@ -1213,8 +1214,9 @@ topology_probe()
        if (ret != 0)
                goto err;
 
-       /* Can't fail (mark_cpu_present always returns 0) */
-       assert(for_all_proc_cpus(mark_cpu_present));
+       ret = for_all_proc_cpus(mark_cpu_present);
+       if (ret != 0)
+               goto err;
 
        /*
         * For online cpus