]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/tcbfuncs.c: shadowtcb_path_rel(): Centralize error handling
authorAlejandro Colomar <alx@kernel.org>
Sat, 4 Jan 2025 01:14:16 +0000 (02:14 +0100)
committerSerge Hallyn <serge@hallyn.com>
Wed, 4 Jun 2025 04:25:02 +0000 (23:25 -0500)
All these 3 branches have a compatible return value, which we can check
at once after the branches.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/tcbfuncs.c

index 237d46e87cd8db1a0396d8d0c79e5670b75926b1..998e601a48098cd201c511d93167e61dc652d430 100644 (file)
@@ -73,25 +73,17 @@ static /*@null@*/ char *shadowtcb_path_rel (const char *name, uid_t uid)
 
        if (!getdef_bool ("TCB_SYMLINKS") || uid < SHADOWTCB_HASH_BY) {
                ret = strdup(name);
-               if (ret == NULL) {
-                       OUT_OF_MEMORY;
-                       return NULL;
-               }
        } else if (uid < SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY) {
                ret = aprintf(":%dK/%s", uid / SHADOWTCB_HASH_BY, name);
-               if (ret == NULL) {
-                       OUT_OF_MEMORY;
-                       return NULL;
-               }
        } else {
                ret = aprintf(":%dM/:%dK/%s",
                              uid / (SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY),
                              (uid % (SHADOWTCB_HASH_BY * SHADOWTCB_HASH_BY)) / SHADOWTCB_HASH_BY,
                              name);
-               if (ret == NULL) {
-                       OUT_OF_MEMORY;
-                       return NULL;
-               }
+       }
+       if (ret == NULL) {
+               OUT_OF_MEMORY;
+               return NULL;
        }
        return ret;
 }