From fb328c96e92fe19c9740c87e3d0ac6fdf23c3ee8 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Sat, 4 Jan 2025 02:14:16 +0100 Subject: [PATCH] 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 --- lib/tcbfuncs.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) 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; }