commit bf8e37625ac2379fc6fc17caafd9b8875d8a98aa
parent 5c821d43efe1cc1364ce60990e6fe38d571a9278
Author: sin <sin@2f30.org>
Date: Sat, 22 Nov 2014 11:13:53 +0000
Fix potential exit status wraparound in chgrp(1)
Diffstat:
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/chgrp.c b/chgrp.c
@@ -11,8 +11,8 @@
#include "util.h"
static int gid;
-static int failures = 0;
-static int rflag = 0;
+static int status;
+static int rflag;
static struct stat st;
static void
@@ -26,7 +26,7 @@ chgrp(const char *path)
{
if (chown(path, st.st_uid, gid) < 0) {
weprintf("chown %s:", path);
- failures++;
+ status = 1;
}
if (rflag)
recurse(path, chgrp);
@@ -59,11 +59,10 @@ main(int argc, char *argv[])
while (*++argv) {
if (stat(*argv, &st) < 0) {
weprintf("stat %s:", *argv);
- failures++;
+ status = 1;
continue;
}
chgrp(*argv);
}
-
- return failures;
+ return status;
}