From ea4c43445c1fcb378b80216ef388eebc61a57696 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Wed, 19 Mar 2003 18:09:03 +0000 Subject: [PATCH] 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;