chiark / gitweb /
Introduce strv_consume which takes ownership
[elogind.git] / src / libsystemd / sd-bus / bus-control.c
index 22b95d589d179241e89716453e50a9f112be61e9..db0c11b0fe4811a0631cc64238a6aead1a4d5bc3 100644 (file)
@@ -237,11 +237,9 @@ static int kernel_get_list(sd_bus *bus, uint64_t flags, char ***x) {
                         if (asprintf(&n, ":1.%llu", (unsigned long long) name->owner_id) < 0)
                                 return -ENOMEM;
 
-                        r = strv_push(x, n);
-                        if (r < 0) {
-                                free(n);
-                                return -ENOMEM;
-                        }
+                        r = strv_consume(x, n);
+                        if (r < 0)
+                                return r;
 
                         previous_id = name->owner_id;
                 }