From 4ec2545ed6a0626715802a1c7919fe0e38436301 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 3 Jul 2013 19:16:09 +0200 Subject: properly fix umask handling https://dev.openwrt.org/ticket/13752 https://dev.openwrt.org/ticket/13794 Signed-off-by: John Crispin --- mkdev.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mkdev.c') diff --git a/mkdev.c b/mkdev.c index d507939..0f55554 100644 --- a/mkdev.c +++ b/mkdev.c @@ -47,12 +47,15 @@ static bool find_pattern(const char *name) static void make_dev(const char *path, bool block, int major, int minor) { + unsigned int oldumask = umask(0); unsigned int _mode = mode | (block ? S_IFBLK : S_IFCHR); + DEBUG(2, "Creating %s device %s(%d,%d)\n", block ? "block" : "character", path, major, minor); mknod(path, _mode, makedev(major, minor)); + umask(oldumask); } static void find_devs(bool block) -- cgit v1.2.3