diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c index 7309ad621a..cc1ef226f0 100644 --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c @@ -1973,6 +1973,9 @@ static int add_object_vtable_internal( } } + if (!existing) + existing = LIST_FIND_TAIL(vtables, n->vtables); + s->node_vtable.node = n; LIST_INSERT_AFTER(vtables, n->vtables, existing, &s->node_vtable); bus->nodes_modified = true; diff --git a/test/units/TEST-23-UNIT-FILE.oneshot-restart.sh b/test/units/TEST-23-UNIT-FILE.oneshot-restart.sh index d06dbaae8c..b5a4d2d30a 100755 --- a/test/units/TEST-23-UNIT-FILE.oneshot-restart.sh +++ b/test/units/TEST-23-UNIT-FILE.oneshot-restart.sh @@ -90,9 +90,9 @@ read -r x <"$FIFO_FILE" assert_eq "$x" "finished" cmp -b <(systemctl show "$UNIT_NAME" -p Result -p NRestarts -p SubState) <