Skip to contentSkip to conversation

Fix uninitialized name_list::ignore_error

PATCH New Alan Jenkins 1 participant 1 message Aug 31, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix uninitialized name_list::ignore_error

Running udevd under valgrind (and then udevtrigger):

=17705= Conditional jump or move depends on uninitialised value(s)

=17705=    at 0x407BBB: udev_rules_run (udev_rules.c:522)
=17705=    by 0x4109F0: udev_event_process (udevd.c:145)
=17705=    by 0x410E2C: udev_event_run (udevd.c:251)
=17705=    by 0x411A8D: msg_queue_manager (udevd.c:581)
=17705=    by 0x41386B: main (udevd.c:1284)
udev/udev_utils.c +2 -0
index 9b22de7..d1d3acb 100644
@@ -77,6 +77,7 @@ struct name_entry *name_list_add(struct list_head *name_list, const char *name,
 	name_new = malloc(sizeof(struct name_entry));
 	if (name_new = NULL)
 		return NULL;
+	memset(name_new, 0x00, sizeof(struct name_entry));
 
 	strlcpy(name_new->name, name, sizeof(name_new->name));
 	dbg("adding '%s'\n", name_new->name);
@@ -102,6 +103,7 @@ struct name_entry *name_list_key_add(struct list_head *name_list, const char *ke
 	name_new = malloc(sizeof(struct name_entry));
 	if (name_new = NULL)
 		return NULL;
+	memset(name_new, 0x00, sizeof(struct name_entry));
 
 	snprintf(name_new->name, sizeof(name_new->name), "%s=%s", key, value);
 	name_new->name[sizeof(name_new->name)-1] = '\0';