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;