From 805e13f7016f37c882069f43b5f0c0972d5fdf95 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 17 Apr 2022 07:29:24 +0900 Subject: [PATCH] sd-bus: do not return negative errno when unknown name is specified When 'recursive' is false, then sd_bus_track_remove_name() does not return negative errno when unknown name is specified. Let's follow the same pattern for the case that 'recursive' is true. (cherry picked from commit 55bfacc6c33eaf3475762e71172b2ef504be5af8) Related: #2047373 --- src/libsystemd/sd-bus/bus-track.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-track.c b/src/libsystemd/sd-bus/bus-track.c index b9965d9d64..8893f190a1 100644 --- a/src/libsystemd/sd-bus/bus-track.c +++ b/src/libsystemd/sd-bus/bus-track.c @@ -275,12 +275,9 @@ _public_ int sd_bus_track_remove_name(sd_bus_track *track, const char *name) { if (!track) /* Treat a NULL track object as an empty track object */ return 0; - if (!track->recursive) - return bus_track_remove_name_fully(track, name); - i = hashmap_get(track->names, name); if (!i) - return -EUNATCH; + return 0; assert(i->n_ref >=1); if (i->n_ref <= 1)