[git commit master] modprobe: protect against possible SEGV

Denys Vlasenko vda.linux at googlemail.com
Tue Jan 26 07:17:45 UTC 2010


commit: http://git.busybox.net/busybox/commit/?id=da879ec2e967e2f04f6269e506308dc9cc8b97ae
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 modutils/modprobe.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index 2860ae0..f339fbd 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -80,12 +80,14 @@ static int read_config(const char *path);
 static char *gather_options_str(char *opts, const char *append)
 {
 	/* Speed-optimized. We call gather_options_str many times. */
-	if (opts == NULL) {
-		opts = xstrdup(append);
-	} else {
-		int optlen = strlen(opts);
-		opts = xrealloc(opts, optlen + strlen(append) + 2);
-		sprintf(opts + optlen, " %s", append);
+	if (append) {
+		if (opts == NULL) {
+			opts = xstrdup(append);
+		} else {
+			int optlen = strlen(opts);
+			opts = xrealloc(opts, optlen + strlen(append) + 2);
+			sprintf(opts + optlen, " %s", append);
+		}
 	}
 	return opts;
 }
-- 
1.6.3.3



More information about the busybox-cvs mailing list