summaryrefslogtreecommitdiff
path: root/modutils/modprobe.c
diff options
context:
space:
mode:
authorRobert Griebl <griebl@gmx.de>2002-06-02 09:36:12 +0000
committerRobert Griebl <griebl@gmx.de>2002-06-02 09:36:12 +0000
commit3b79370a7ddf749f1a475b10b017170c644d283b (patch)
tree4f81cbbcbd2e28716a5626ad0119f5d2500e18b8 /modutils/modprobe.c
parentb99cb64b805a2dfd4e0fabfedf17eb6b0234d39f (diff)
downloadbusybox-w32-3b79370a7ddf749f1a475b10b017170c644d283b.tar.gz
busybox-w32-3b79370a7ddf749f1a475b10b017170c644d283b.tar.bz2
busybox-w32-3b79370a7ddf749f1a475b10b017170c644d283b.zip
Fixed a realloc bug found by Martin Volf
Diffstat (limited to 'modutils/modprobe.c')
-rw-r--r--modutils/modprobe.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index a510f69e8..6a3e06df4 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -354,7 +354,7 @@ static int mod_insert ( char *mod, int argc, char **argv )
354 for ( i = 0; i < argc; i++ ) 354 for ( i = 0; i < argc; i++ )
355 l += ( xstrlen ( argv [i] ) + 1 ); 355 l += ( xstrlen ( argv [i] ) + 1 );
356 356
357 head-> m_module = realloc ( head-> m_module, l + 1 ); 357 head-> m_module = xrealloc ( head-> m_module, l + 1 );
358 358
359 for ( i = 0; i < argc; i++ ) { 359 for ( i = 0; i < argc; i++ ) {
360 strcat ( head-> m_module, " " ); 360 strcat ( head-> m_module, " " );
@@ -440,7 +440,7 @@ extern int modprobe_main(int argc, char** argv)
440 440
441 if (remove_opt) { 441 if (remove_opt) {
442 do { 442 do {
443 mod_remove ( optind < argc ? argv [optind] : 0 ); 443 mod_remove ( optind < argc ? xstrdup ( argv [optind] ) : 0 );
444 } while ( ++optind < argc ); 444 } while ( ++optind < argc );
445 445
446 return EXIT_SUCCESS; 446 return EXIT_SUCCESS;
@@ -449,7 +449,7 @@ extern int modprobe_main(int argc, char** argv)
449 if (optind >= argc) 449 if (optind >= argc)
450 error_msg_and_die ( "No module or pattern provided\n" ); 450 error_msg_and_die ( "No module or pattern provided\n" );
451 451
452 return mod_insert ( argv [optind], argc - optind - 1, argv + optind + 1 ) ? \ 452 return mod_insert ( xstrdup ( argv [optind] ), argc - optind - 1, argv + optind + 1 ) ? \
453 EXIT_FAILURE : EXIT_SUCCESS; 453 EXIT_FAILURE : EXIT_SUCCESS;
454} 454}
455 455