=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mg/dir.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- src/usr.bin/mg/dir.c 2016/09/12 18:32:54 1.29 +++ src/usr.bin/mg/dir.c 2017/05/30 07:05:22 1.30 @@ -1,4 +1,4 @@ -/* $OpenBSD: dir.c,v 1.29 2016/09/12 18:32:54 millert Exp $ */ +/* $OpenBSD: dir.c,v 1.30 2017/05/30 07:05:22 florian Exp $ */ /* This file is in the public domain. */ @@ -117,7 +117,7 @@ { struct stat sb; int finished, ishere; - mode_t dir_mode, mode, oumask; + mode_t dir_mode, f_mode, oumask; char *slash; if ((path = adjustname(path, TRUE)) == NULL) @@ -131,8 +131,8 @@ slash = path; oumask = umask(0); - mode = 0777 & ~oumask; - dir_mode = mode | S_IWUSR | S_IXUSR; + f_mode = 0777 & ~oumask; + dir_mode = f_mode | S_IWUSR | S_IXUSR; for (;;) { slash += strspn(slash, "/"); @@ -152,8 +152,8 @@ continue; } - if (mkdir(path, finished ? mode : dir_mode) == 0) { - if (mode > 0777 && chmod(path, mode) < 0) { + if (mkdir(path, finished ? f_mode : dir_mode) == 0) { + if (f_mode > 0777 && chmod(path, f_mode) < 0) { umask(oumask); return (ABORT); }