---
 find.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/find.c b/find.c
index 71488da..0f57e03 100644
--- a/find.c
+++ b/find.c
@@ -517,6 +517,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 == '-')
@@ -524,7 +525,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;
 }
-- 
2.48.1


Reply via email to