Update OutputClass.c
made a better one line version of similar double free fix
This commit is contained in:
parent
005b26456b
commit
42b3097a20
|
@ -123,21 +123,16 @@ xf86parseOutputClassSection(void)
|
||||||
ptr->driver = xf86_lex_val.str;
|
ptr->driver = xf86_lex_val.str;
|
||||||
break;
|
break;
|
||||||
case MODULEPATH:
|
case MODULEPATH:
|
||||||
if (xf86getSubToken(&ptr->comment) != XF86_TOKEN_STRING)
|
if (xf86getSubToken(&(ptr->comment)) != XF86_TOKEN_STRING)
|
||||||
Error(QUOTE_MSG, "ModulePath");
|
Error(QUOTE_MSG, "ModulePath");
|
||||||
{
|
|
||||||
char *newpath;
|
|
||||||
if (ptr->modulepath) {
|
if (ptr->modulepath) {
|
||||||
XNFasprintf(&newpath, "%s,%s",
|
char *path;
|
||||||
ptr->modulepath,
|
XNFasprintf(&path, "%s,%s", ptr->modulepath, xf86_lex_val.str);
|
||||||
xf86_lex_val.str);
|
|
||||||
free(ptr->modulepath);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newpath = strdup(xf86_lex_val.str);
|
|
||||||
}
|
|
||||||
free(xf86_lex_val.str);
|
free(xf86_lex_val.str);
|
||||||
ptr->modulepath = newpath;
|
(ptr->modulepath == xf86_lex_val.str) || free(ptr->modulepath);
|
||||||
|
ptr->modulepath = path;
|
||||||
|
} else {
|
||||||
|
ptr->modulepath = xf86_lex_val.str;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case OPTION:
|
case OPTION:
|
||||||
|
|
Loading…
Reference in New Issue