From: Alejandro Colomar Date: Sat, 4 Jan 2025 01:14:16 +0000 (+0100) Subject: lib/tcbfuncs.c: shadowtcb_path_rel(): Centralize error handling X-Git-Tag: 4.18.0-rc1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9323a0ae33a42a67a42ad95de4ba3365cff6a66;p=thirdparty%2Fshadow.git lib/tcbfuncs.c: shadowtcb_path_rel(): Centralize error handling All these 3 branches have a compatible return value, which we can check at once after the branches. Signed-off-by: Alejandro Colomar --- diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c index 237d46e87..998e601a4 100644 --- a/lib/tcbfuncs.c +++ b/lib/tcbfuncs.c @@ -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; }