summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormd@Linux.IT <md@Linux.IT>2003-11-23 18:35:03 -0800
committerGreg KH <gregkh@suse.de>2005-04-26 21:13:02 -0700
commit04a81cac0aab2ab6a54ddc661dd57be7d5b1595a (patch)
tree5ba3e3d0be2364201023f98cf8d3189c213db6af
parent388e2a6a47296697a34f3482b9442df92169c4ac (diff)
[PATCH] fix segfault in parsing bad udev.permissions file
-rw-r--r--namedev.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/namedev.c b/namedev.c
index bed328f646..24b9bc01ac 100644
--- a/namedev.c
+++ b/namedev.c
@@ -439,12 +439,24 @@ static int namedev_init_permissions(void)
/* parse the line */
temp2 = strsep(&temp, ":");
+ if (!temp2) {
+ dbg("cannot parse line: %s", line);
+ continue;
+ }
strncpy(dev.name, temp2, sizeof(dev.name));
temp2 = strsep(&temp, ":");
+ if (!temp2) {
+ dbg("cannot parse line: %s", line);
+ continue;
+ }
strncpy(dev.owner, temp2, sizeof(dev.owner));
temp2 = strsep(&temp, ":");
+ if (!temp2) {
+ dbg("cannot parse line: %s", line);
+ continue;
+ }
strncpy(dev.group, temp2, sizeof(dev.owner));
dev.mode = strtol(temp, NULL, 8);