From: Lennart Poettering Date: Mon, 8 Nov 2021 16:57:42 +0000 (+0100) Subject: userwork: make sure to return correct errors when service is not specified correctly X-Git-Tag: v250-rc1~333^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=18e94a40b8dc549b2983b7e484171759f929f21b;p=thirdparty%2Fsystemd.git userwork: make sure to return correct errors when service is not specified correctly Fixes: #21215 #21222 --- diff --git a/src/userdb/userwork.c b/src/userdb/userwork.c index 63ce7eafe8d..1b1a4835e64 100644 --- a/src/userdb/userwork.c +++ b/src/userdb/userwork.c @@ -114,7 +114,6 @@ static int build_user_json(Varlink *link, UserRecord *ur, JsonVariant **ret) { static int userdb_flags_from_service(Varlink *link, const char *service, UserDBFlags *ret) { assert(link); - assert(service); assert(ret); if (streq_ptr(service, "io.systemd.NameServiceSwitch")) @@ -153,7 +152,8 @@ static int vl_method_get_user_record(Varlink *link, JsonVariant *parameters, Var return r; r = userdb_flags_from_service(link, p.service, &userdb_flags); - if (r < 0) + if (r != 0) /* return value of < 0 means error (as usual); > 0 means 'already processed and replied, + * we are done'; == 0 means 'not processed, caller should process now' */ return r; if (uid_is_valid(p.uid)) @@ -288,7 +288,7 @@ static int vl_method_get_group_record(Varlink *link, JsonVariant *parameters, Va return r; r = userdb_flags_from_service(link, p.service, &userdb_flags); - if (r < 0) + if (r != 0) return r; if (gid_is_valid(p.gid)) @@ -371,7 +371,7 @@ static int vl_method_get_memberships(Varlink *link, JsonVariant *parameters, Var return r; r = userdb_flags_from_service(link, p.service, &userdb_flags); - if (r < 0) + if (r != 0) return r; if (p.group_name)