rem: free(xlfd);
add: wfree(xlfd);
context: W_CreateFontSetWithGuess(Display *dpy, char *xlfd, char ***missing,			int *nmissing, char **def_string){    XFontSet fs = XCreateFontSet(dpy, xlfd, missing, nmissing, def_string);    if (fs != NULL && *nmissing == 0) return fs;    /* for non-iso8859-1 language and iso8859-1 specification       (this fontset is only for pattern analysis) */    if (fs == NULL) {	char *old_locale = setlocale(LC_CTYPE, NULL);	if (*nmissing != 0) XFreeStringList(*missing);	setlocale(LC_CTYPE, "C");	fs = XCreateFontSet(dpy, xlfd, missing, nmissing, def_string);	setlocale(LC_CTYPE, old_locale);    }    /* make XLFD font name for pattern analysis */    if (fs != NULL) {	XFontStruct **fontstructs;	char **fontnames;	if (XFontsOfFontSet(fs, &fontstructs, &fontnames) > 0)	    xlfd = fontnames[0];    }    xlfd = generalize_xlfd (xlfd);    if (*nmissing != 0) XFreeStringList(*missing);    if (fs != 0) XFreeFontSet(dpy, fs);    fs = XCreateFontSet(dpy, xlfd, missing, nmissing, def_string);    free(xlfd);    return fs;}