[PATCH next] exec: Fix a NULL vs IS_ERR() test in bprm_add_fixup_comm()
From: Dan Carpenter
Date: Sat Nov 02 2024 - 05:31:31 EST
The strndup_user() function doesn't return NULL, it returns error
pointers. Fix the check to match.
Fixes: 7bdc6fc85c9a ("exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
fs/exec.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/exec.c b/fs/exec.c
index 7e24d585915e..c5c291502dca 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1512,10 +1512,10 @@ static int bprm_add_fixup_comm(struct linux_binprm *bprm,
return 0;
bprm->argv0 = strndup_user(p, MAX_ARG_STRLEN);
- if (bprm->argv0)
- return 0;
+ if (IS_ERR(bprm->argv0))
+ return PTR_ERR(bprm->argv0);
- return -EFAULT;
+ return 0;
}
static struct linux_binprm *alloc_bprm(int fd, struct filename *filename, int flags)
--
2.45.2