diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c index 665675e91..4bd9462ba 100644 --- a/hw/xfree86/common/xf86Configure.c +++ b/hw/xfree86/common/xf86Configure.c @@ -314,8 +314,10 @@ configureDeviceSection(int screennum) len += strlen(opttype); ptr->dev_comment = realloc(ptr->dev_comment, len); - if (!ptr->dev_comment) + if (!ptr->dev_comment) { + free(optname); break; + } p_e = ptr->dev_comment + strlen(ptr->dev_comment); sprintf(p_e, "%s%-20s%s%s%s", prefix, optname, middle, opttype, suffix);