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:
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;
}