From cd3a440b562e6efc713ce1524678dd068a85bf91 Mon Sep 17 00:00:00 2001 From: Matteo Croce Date: Fri, 7 Jun 2024 00:29:32 +0200 Subject: [PATCH] sysctl: return error on permission denied When trying to write to a readonly sysctl or a directory by mistake, sysctl still returns success: # sysctl kernel.version=foo sysctl: setting key "kernel.version": Operation not permitted # echo $? 0 # sysctl kernel=foo sysctl: setting key "kernel": Operation not permitted # echo $? 0 Let sysctl return error in both the cases above. Signed-off-by: Matteo Croce --- src/sysctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sysctl.c b/src/sysctl.c index 087ddabe..1914203c 100644 --- a/src/sysctl.c +++ b/src/sysctl.c @@ -585,14 +585,14 @@ static int WriteSetting( errno = EPERM; xwarn(_("setting key \"%s\""), dotted_key); free(dotted_key); - return rc; + return EXIT_FAILURE; } if (S_ISDIR(ts.st_mode)) { errno = EISDIR; xwarn(_("setting key \"%s\""), dotted_key); free(dotted_key); - return rc; + return EXIT_FAILURE; } if (!DryRun) { -- GitLab