The function already returns errors, so I'm not sure why we ignored
the error in the second call, potentially leaving variables unitialized.
It seems easiest to propagate the error.
Reported by qarmin (Rafał Mikrut).
_cleanup_(cpu_set_done) CPUSet s = {};
_cleanup_free_ uint8_t *array = NULL;
size_t allocated;
+ int r;
assert(bus);
assert(reply);
if (c->cpu_affinity_from_numa) {
- int r;
-
r = numa_to_cpu_set(&c->numa_policy, &s);
if (r < 0)
return r;
}
- (void) cpu_set_to_dbus(c->cpu_affinity_from_numa ? &s : &c->cpu_set, &array, &allocated);
+ r = cpu_set_to_dbus(c->cpu_affinity_from_numa ? &s : &c->cpu_set, &array, &allocated);
+ if (r < 0)
+ return r;
return sd_bus_message_append_array(reply, 'y', array, allocated);
}