From 5d66866d96ca7b85b36df99651991b2a1acd2b2e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 5 Nov 2013 21:24:33 +0100 Subject: [PATCH] bus: never report nodes as children that do not have the right prefix --- src/libsystemd-bus/bus-objects.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libsystemd-bus/bus-objects.c b/src/libsystemd-bus/bus-objects.c index 92781e9ad..93bd3ad86 100644 --- a/src/libsystemd-bus/bus-objects.c +++ b/src/libsystemd-bus/bus-objects.c @@ -114,12 +114,17 @@ static int add_enumerated_to_set( continue; } - if (!object_path_is_valid(*k) && object_path_startswith(*k, prefix)) { + if (!object_path_is_valid(*k)){ free(*k); r = -EINVAL; continue; } + if (!object_path_startswith(*k, prefix)) { + free(*k); + continue; + } + r = set_consume(s, *k); } @@ -154,6 +159,9 @@ static int add_subtree_to_set( LIST_FOREACH(siblings, i, n->child) { char *t; + if (!object_path_startswith(i->path, prefix)) + continue; + t = strdup(i->path); if (!t) return -ENOMEM; -- 2.30.2