machined: fix bogus error check for machine_link()

This commit is contained in:
Mike Yuan
2024-09-21 00:18:41 +02:00
parent 0121b84e41
commit 533c20ca5b
3 changed files with 9 additions and 8 deletions
+1 -2
View File
@@ -53,6 +53,7 @@ int machine_new(MachineClass class, const char *name, Machine **ret) {
return -ENOMEM;
*m = (Machine) {
.class = class,
.leader = PIDREF_NULL,
.vsock_cid = VMADDR_CID_ANY,
};
@@ -63,8 +64,6 @@ int machine_new(MachineClass class, const char *name, Machine **ret) {
return -ENOMEM;
}
m->class = class;
*ret = TAKE_PTR(m);
return 0;
}
+7 -5
View File
@@ -1487,7 +1487,7 @@ int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine) {
return 1;
}
int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
int manager_add_machine(Manager *m, const char *name, Machine **ret) {
Machine *machine;
int r;
@@ -1501,12 +1501,14 @@ int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
return r;
r = machine_link(m, machine);
if (r < 0)
return 0;
if (r < 0) {
machine_free(machine);
return r;
}
}
if (_machine)
*_machine = machine;
if (ret)
*ret = machine;
return 0;
}
+1 -1
View File
@@ -42,7 +42,7 @@ struct Manager {
sd_varlink_server *varlink_machine_server;
};
int manager_add_machine(Manager *m, const char *name, Machine **_machine);
int manager_add_machine(Manager *m, const char *name, Machine **ret);
int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine);
extern const BusObjectImplementation manager_object;