From 3a0ee199dcec39596756a995996eac388acf6315 Mon Sep 17 00:00:00 2001 From: Eamon Walsh Date: Thu, 9 Apr 2009 02:26:24 -0400 Subject: [PATCH] config: fix crash caused by strdup(NULL) --- hw/xfree86/parser/Flags.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/xfree86/parser/Flags.c b/hw/xfree86/parser/Flags.c index b4e8d2583..6865d3592 100644 --- a/hw/xfree86/parser/Flags.c +++ b/hw/xfree86/parser/Flags.c @@ -235,11 +235,12 @@ XF86OptionPtr xf86optionListDup (XF86OptionPtr opt) { XF86OptionPtr newopt = NULL; + char *val; while (opt) { - newopt = xf86addNewOption(newopt, strdup(opt->opt_name), - strdup(opt->opt_val)); + val = opt->opt_val ? strdup(opt->opt_val) : NULL; + newopt = xf86addNewOption(newopt, strdup(opt->opt_name), val); newopt->opt_used = opt->opt_used; if (opt->opt_comment) newopt->opt_comment = strdup(opt->opt_comment);