summaryrefslogtreecommitdiffstats
path: root/package/busybox/busybox-1.14.0-mdev.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.14.0-mdev.patch')
-rw-r--r--package/busybox/busybox-1.14.0-mdev.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.14.0-mdev.patch b/package/busybox/busybox-1.14.0-mdev.patch
new file mode 100644
index 000000000..4cefd0dd4
--- /dev/null
+++ b/package/busybox/busybox-1.14.0-mdev.patch
@@ -0,0 +1,24 @@
+--- busybox-1.14.0/util-linux/mdev.c Tue Apr 14 23:23:04 2009
++++ busybox-1.14.0-mdev/util-linux/mdev.c Sat May 2 16:31:34 2009
+@@ -181,7 +181,8 @@
+ * the rest of fields unless keep_matching == 1 */
+
+ /* 2nd field: uid:gid - device ownership */
+- parse_chown_usergroup_or_die(&ugid, tokens[1]);
++ if (get_uidgid(&ugid, tokens[1], 1) == 0)
++ bb_error_msg("unknown user/group %s", tokens[1]);
+
+ /* 3rd field: mode - device permissions */
+ mode = strtoul(tokens[2], NULL, 8);
+@@ -524,7 +525,10 @@
+ make_device(temp, 1);
+ }
+ else if (strcmp(action, "add") == 0) {
+- make_device(temp, 0);
++ /* N.B. make_device() mangles the device path, so save it */
++ char *s = xstrdup(temp);
++ make_device(s, 0);
++ free(s);
+ if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) {
+ if (fw)
+ load_firmware(fw, temp);