aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modutils/modprobe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index 07cbb6fc7..d48f36ed1 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -352,6 +352,7 @@ static int mod_process ( struct mod_list_t *list, int do_insert )
352 int rc = 1; 352 int rc = 1;
353 353
354 while ( list ) { 354 while ( list ) {
355 *lcmd = '\0';
355 if ( do_insert ) { 356 if ( do_insert ) {
356 if (already_loaded (list->m_module) != 1) 357 if (already_loaded (list->m_module) != 1)
357 snprintf ( lcmd, sizeof( lcmd ) - 1, "insmod %s %s %s %s %s", do_syslog ? "-s" : "", autoclean ? "-k" : "", quiet ? "-q" : "", list-> m_module, list-> m_options ? list-> m_options : "" ); 358 snprintf ( lcmd, sizeof( lcmd ) - 1, "insmod %s %s %s %s %s", do_syslog ? "-s" : "", autoclean ? "-k" : "", quiet ? "-q" : "", list-> m_module, list-> m_options ? list-> m_options : "" );
@@ -362,7 +363,7 @@ static int mod_process ( struct mod_list_t *list, int do_insert )
362 363
363 if ( verbose ) 364 if ( verbose )
364 printf ( "%s\n", lcmd ); 365 printf ( "%s\n", lcmd );
365 if ( !show_only ) { 366 if ( !show_only && *lcmd) {
366 int rc2 = system ( lcmd ); 367 int rc2 = system ( lcmd );
367 if (do_insert) rc = rc2; /* only last module matters */ 368 if (do_insert) rc = rc2; /* only last module matters */
368 else if (!rc2) rc = 0; /* success if remove any mod */ 369 else if (!rc2) rc = 0; /* success if remove any mod */