diff options
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index 80dfc1d6a..ab8ec006f 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -12862,7 +12862,8 @@ umaskcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) | |||
12862 | /* symbolic umasks are inverted: "umask a=rx" calls umask(222) */ | 12862 | /* symbolic umasks are inverted: "umask a=rx" calls umask(222) */ |
12863 | if (!isdigit(modestr[0])) | 12863 | if (!isdigit(modestr[0])) |
12864 | mask ^= 0777; | 12864 | mask ^= 0777; |
12865 | if (!bb_parse_mode(modestr, &mask) || (unsigned)mask > 0777) { | 12865 | mask = bb_parse_mode(modestr, mask); |
12866 | if ((unsigned)mask > 0777) { | ||
12866 | ash_msg_and_raise_error("illegal mode: %s", modestr); | 12867 | ash_msg_and_raise_error("illegal mode: %s", modestr); |
12867 | } | 12868 | } |
12868 | if (!isdigit(modestr[0])) | 12869 | if (!isdigit(modestr[0])) |