From 3107a1bae0a7c40339801ce0dfb3e1e4d79ffc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Adri=C3=A1n=20Ontivero?= Date: Sun, 13 Jan 2019 06:13:09 +0100 Subject: [PATCH] Check umask flags under dash & POSIX sh (fixes #1459) --- src/ShellCheck/Checks/ShellSupport.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ShellCheck/Checks/ShellSupport.hs b/src/ShellCheck/Checks/ShellSupport.hs index 64bb383..644cee2 100644 --- a/src/ShellCheck/Checks/ShellSupport.hs +++ b/src/ShellCheck/Checks/ShellSupport.hs @@ -147,6 +147,8 @@ prop_checkBashisms64 = verify checkBashisms "#!/bin/sh\nreadonly -a" prop_checkBashisms65 = verifyNot checkBashisms "#!/bin/sh\nreadonly -p" prop_checkBashisms66 = verifyNot checkBashisms "#!/bin/sh\ncd -P ." prop_checkBashisms67 = verify checkBashisms "#!/bin/sh\ncd -P -e ." +prop_checkBashisms68 = verify checkBashisms "#!/bin/sh\numask -p" +prop_checkBashisms69 = verifyNot checkBashisms "#!/bin/sh\numask -S" checkBashisms = ForShell [Sh, Dash] $ \t -> do params <- ask kludge params t @@ -297,7 +299,8 @@ checkBashisms = ForShell [Sh, Dash] $ \t -> do ("printf", []), ("read", if isDash then ["r", "p"] else ["r"]), ("readonly", ["p"]), - ("ulimit", if isDash then ["H", "S", "t", "f", "d", "s", "c", "m", "l", "p", "n"] else ["f"]) + ("ulimit", if isDash then ["H", "S", "t", "f", "d", "s", "c", "m", "l", "p", "n"] else ["f"]), + ("umask", ["S"]) ] bashism t@(T_SourceCommand id src _) = let name = fromMaybe "" $ getCommandName src