From ea4c43445c1fcb378b80216ef388eebc61a57696 Mon Sep 17 00:00:00 2001
From: Manuel Novoa III <mjn3@codepoet.org>
Date: Wed, 19 Mar 2003 18:09:03 +0000
Subject: Restrict octal perms to <= 07777.  Cosmetic error message change.

---
 coreutils/chmod.c  | 2 +-
 libbb/parse_mode.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/coreutils/chmod.c b/coreutils/chmod.c
index 28c98552a..a9758d58b 100644
--- a/coreutils/chmod.c
+++ b/coreutils/chmod.c
@@ -38,7 +38,7 @@
 static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
 {
 	if (!bb_parse_mode((char *)junk, &(statbuf->st_mode)))
-		bb_error_msg_and_die( "unknown mode: %s", (char *)junk);
+		bb_error_msg_and_die( "invalid mode: %s", (char *)junk);
 	if (chmod(fileName, statbuf->st_mode) == 0)
 		return (TRUE);
 	bb_perror_msg("%s", fileName);	/* Avoid multibyte problems. */
diff --git a/libbb/parse_mode.c b/libbb/parse_mode.c
index 49573dfbb..7132c76ef 100644
--- a/libbb/parse_mode.c
+++ b/libbb/parse_mode.c
@@ -65,7 +65,7 @@ extern int bb_parse_mode(const char *s, mode_t *current_mode)
 		char *e;
 
 		tmp = strtol(s, &e, 8);
-		if (*e || (tmp > 0xffffU)) { /* Check range and trailing chars. */
+		if (*e || (tmp > 07777U)) { /* Check range and trailing chars. */
 			return 0;
 		}
 		*current_mode = tmp;
-- 
cgit v1.2.3-55-g6feb