chiark / gitweb /
[PATCH] more config file parsing robustness
[elogind.git] / namedev.c
index 21815b694a2a524bc49b0effaeb3682ec048b604..391da7efcacc59f053a1e5f737efefe2d03e74ad 100644 (file)
--- a/namedev.c
+++ b/namedev.c
@@ -464,6 +464,10 @@ static int namedev_init_permissions(void)
                }
                strncpy(dev.group, temp2, sizeof(dev.owner));
 
+               if (!temp) {
+                       dbg("cannot parse line: %s", line);
+                       continue;
+               }
                dev.mode = strtol(temp, NULL, 8);
 
                dbg_parse("name='%s', owner='%s', group='%s', mode=%#o",
@@ -514,7 +518,7 @@ static void apply_format(struct udevice *udev, unsigned char *string)
                        case 'b':
                                if (strlen(udev->bus_id) == 0)
                                        break;
-                               strcat(string, udev->bus_id);
+                               strcat(pos, udev->bus_id);
                                dbg("substitute bus_id '%s'", udev->bus_id);
                                break;
                        case 'n':