mdev: fix breakage caused by unified parser usage
authorDenis Vlasenko <vda.linux@googlemail.com>
Mon, 12 Jan 2009 07:57:52 +0000 (07:57 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Mon, 12 Jan 2009 07:57:52 +0000 (07:57 -0000)
testsuite/mdev.tests
util-linux/mdev.c

index 2285579..90379e6 100755 (executable)
@@ -111,6 +111,22 @@ brw-r--r-- 1 0 0 8,0 sda
 
 # continuing to use directory structure from prev test
 rm -rf mdev.testdir/dev/*
+echo "sda 0:0 644 =block/ @echo @echo TEST" >mdev.testdir/etc/mdev.conf
+testing "mdev move and command" \
+       "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
+       ls -lnR mdev.testdir/dev | $FILTER_LS2" \
+"\
+@echo TEST
+mdev.testdir/dev:
+drwxr-xr-x 2 0 0 block
+
+mdev.testdir/dev/block:
+brw-r--r-- 1 0 0 sda
+" \
+       "" ""
+
+# continuing to use directory structure from prev test
+rm -rf mdev.testdir/dev/*
 echo "@8,0 :1 644" >mdev.testdir/etc/mdev.conf
 testing "mdev #maj,min and no explicit uid" \
        "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
index 9ad1a6f..0460aa7 100644 (file)
@@ -179,8 +179,9 @@ static void make_device(char *path, int delete)
                        unsigned i, n;
 #endif
                        char *a = val;
-                       s = strchr(val, ' ');
-                       val = (s && s[1]) ? s+1 : NULL;
+                       s = strchrnul(val, ' ');
+                       val = (s[0] && s[1]) ? s+1 : NULL;
+                       s[0] = '\0';
 #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
                        /* substitute %1..9 with off[1..9], if any */
                        n = 0;