From 121ca79bc7b6afd1797b1f80b1758740627846e3 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 26 May 2026 09:56:00 +0200 Subject: [PATCH] Check seteuid result in quota wrapper Handle failures from seteuid(0) in su_quotactl() before calling quotactl(). This fixes the warn_unused_result compiler warning and returns an error to the quota caller if privilege elevation fails. --- src/nwvolume.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/nwvolume.c b/src/nwvolume.c index 7350c61..eb3627c 100644 --- a/src/nwvolume.c +++ b/src/nwvolume.c @@ -953,8 +953,14 @@ static int su_quotactl(int cmd, const char * special, int id, caddr_t addr) { int result; int euid=geteuid(); - seteuid(0); + + if (seteuid(0)) { + errorp(1, "seteuid", "cannot change to uid=0\n"); + return(-1); + } + result=quotactl(cmd, special, id, addr); + if (seteuid(euid)) { errorp(1, "seteuid", "cannot change to uid=%d\n", euid); exit(1);