From da879ec2e967e2f04f6269e506308dc9cc8b97ae Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 26 Jan 2010 08:17:45 +0100 Subject: modprobe: protect against possible SEGV Signed-off-by: Denys Vlasenko --- modutils/modprobe.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'modutils/modprobe.c') diff --git a/modutils/modprobe.c b/modutils/modprobe.c index 2860ae05d..f339fbdbe 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; } -- cgit v1.2.3