sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit 8f9824e34bbf5a7c61a425ebfca93bff6364ecb9
parent e861343db1d13e1e7497e81db56526fd5505704b
Author: Tavian Barnes <tavianator@tavianator.com>
Date:   Sat, 22 Feb 2025 13:14:49 +0100

find: Use the current umask to parse -perm

https://www.austingroupbugs.net/view.php?id=1392

Diffstat:
Mfind.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/find.c b/find.c @@ -516,6 +516,7 @@ get_xdev_arg(char *argv[], union extra *extra) static char ** get_perm_arg(char *argv[], union extra *extra) { + mode_t mask; struct permarg *p = extra->p = emalloc(sizeof(*p)); if (**argv == '-') @@ -523,7 +524,10 @@ get_perm_arg(char *argv[], union extra *extra) else p->exact = 1; - p->mode = parsemode(*argv, 0, 0); + mask = umask(0); + umask(mask); + + p->mode = parsemode(*argv, 0, mask); return argv; }