Initialize all fields of struct dep_t.
Without that, e.g. `busybox modprobe -v char-major-10-144' *sometimes*
fails this way (strace):
write(1, "insmod nvram `\213\f\10\n", 21) = 21
Note the garbage after module name which is taken from the m_options field,
which is not initialized in the alias reading/parsing part.
(Shell properly complains to this command, telling it can't find the
closing backtick)
// fprintf ( stderr, "ALIAS: '%s' -> '%s'\n", alias, mod );
if ( !current ) {
- first = current = (struct dep_t *) xmalloc ( sizeof ( struct dep_t ));
+ first = current = (struct dep_t *) xcalloc ( 1, sizeof ( struct dep_t ));
}
else {
- current-> m_next = (struct dep_t *) xmalloc ( sizeof ( struct dep_t ));
+ current-> m_next = (struct dep_t *) xcalloc ( 1, sizeof ( struct dep_t ));
current = current-> m_next;
}
current-> m_module = bb_xstrdup ( alias );