about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lr.c b/lr.c
index 6cdb380..0df5d20 100644
--- a/lr.c
+++ b/lr.c
@@ -664,7 +664,7 @@ parse_mode()
 	} if (e->op == EXPR_EQ && parse_string(&s)) {
 		e->op = EXPR_CHMOD;
 		e->b.string = s;
-		default_mask = umask(umask(0));  /* cache for future usage */
+		umask(default_mask = 07777 & ~umask(0));  /* for future usage */
 		test_chmod(s, 0);  /* run once to check for syntax */
 	} else {
 		parse_error("invalid mode at '%.15s'", pos);