Michael Tokarev, mjt at tls dot msk dot ru writes:
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)
This commit is contained in:
parent
3f47c453da
commit
ba05e79815
@ -306,10 +306,10 @@ static struct dep_t *build_dep ( void )
|
||||
// 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 );
|
||||
|
Loading…
Reference in New Issue
Block a user