From 0941c9ab2c47447755b0d2267bd76ae3f5b9318a Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Fri, 8 Jul 2016 10:24:11 -0700 Subject: [PATCH] touch: Respect caller's umask Currently, if the caller has a umask of 002 or 000, the file gets created as 644 anyway. Also, add O_WRONLY to the open call, since POSIX says that "Applications shall specify exactly one of the first five values (file access modes) below in the value of oflag". --- touch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/touch.c b/touch.c index fca2f16..74bdc27 100644 --- a/touch.c +++ b/touch.c @@ -38,7 +38,7 @@ touch(const char *file) return; } - if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0) + if ((fd = open(file, O_WRONLY | O_CREAT | O_EXCL, 0666)) < 0) eprintf("open %s:", file); close(fd);