]> code.ossystems Code Review - openembedded-core.git/commitdiff
makedevs: don't restrict device node paths to 40 characters
authorAndre McCurdy <armccurdy@gmail.com>
Mon, 12 Sep 2016 20:14:05 +0000 (13:14 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Sep 2016 14:15:32 +0000 (15:15 +0100)
40 character paths work OK for device nodes in /dev but not for
device nodes created in a chroot, LXC container, etc.

Since the 'path' array is already a 4k buffer, the sscanf 40
character limit seems to be a typo or historical mis-merge. Update
the sscanf limit and bring the code in sync with the Buildroot
version:

  https://git.buildroot.net/buildroot/commit/?id=8876b6751e0bc19a3754290061808f0f8420708e

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/makedevs/makedevs/makedevs.c

index 7471f3f5b3ecfecaf1bb54a15bb7c7c43c8f157b..cba7681414fdc69873e6ecc69d06e4cf12729b7d 100644 (file)
@@ -360,7 +360,7 @@ static int interpret_table_entry(char *line)
        unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
        unsigned long start = 0, increment = 1, count = 0;
 
-       if (0 > sscanf(line, "%40s %c %lo %40s %40s %lu %lu %lu %lu %lu", path,
+       if (0 > sscanf(line, "%4095s %c %lo %40s %40s %lu %lu %lu %lu %lu", path,
                    &type, &mode, usr_buf, grp_buf, &major, &minor, &start,
                    &increment, &count))
        {