machined: fix bogus error check for machine_link()
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user