summaryrefslogtreecommitdiffstats
path: root/hotplug.c
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2013-07-03 19:16:09 +0200
committerJohn Crispin <blogic@openwrt.org>2013-07-03 20:28:03 +0200
commit4ec2545ed6a0626715802a1c7919fe0e38436301 (patch)
tree218bd1e65c597ee92fc57ab8f6cc73385d367935 /hotplug.c
parenta2953547e345eb6dd4e48474ca1e48082d3d564f (diff)
downloadunitd-4ec2545ed6a0626715802a1c7919fe0e38436301.tar
unitd-4ec2545ed6a0626715802a1c7919fe0e38436301.zip
properly fix umask handling
https://dev.openwrt.org/ticket/13752 https://dev.openwrt.org/ticket/13794 Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'hotplug.c')
-rw-r--r--hotplug.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hotplug.c b/hotplug.c
index c2276ed..21efcf5 100644
--- a/hotplug.c
+++ b/hotplug.c
@@ -80,6 +80,7 @@ static void mkdir_p(char *dir)
static void handle_makedev(struct blob_attr *msg, struct blob_attr *data)
{
+ unsigned int oldumask = umask(0);
static struct blobmsg_policy mkdev_policy[2] = {
{ .type = BLOBMSG_TYPE_STRING },
{ .type = BLOBMSG_TYPE_STRING },
@@ -104,6 +105,7 @@ static void handle_makedev(struct blob_attr *msg, struct blob_attr *data)
m | strtoul(blobmsg_data(tb[1]), NULL, 8),
makedev(atoi(major), atoi(minor)));
}
+ umask(oldumask);
}
static void handle_rm(struct blob_attr *msg, struct blob_attr *data)