mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-07 19:08:11 +02:00
XDefaultOMIF.c: Fix memory leaks in get_font_name
Instead of copying the value returned by get_prop_name and then releasing it, directly use the return value of get_prop_name, which allocates memory for the name. If get_prop_name returns NULL, continue on to XFreeFont to release the font before returning the NULL via the normal function return. Reviewed-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
parent
9579635143
commit
cc686655d7
1 changed files with 2 additions and 8 deletions
|
|
@ -381,7 +381,7 @@ get_font_name(
|
|||
XOC oc,
|
||||
char *pattern)
|
||||
{
|
||||
char **list, *name, *prop_name;
|
||||
char **list, *name;
|
||||
int count;
|
||||
XFontStruct *fs;
|
||||
Display *dpy = oc->core.om->core.display;
|
||||
|
|
@ -397,13 +397,7 @@ get_font_name(
|
|||
fs = XLoadQueryFont(dpy, pattern);
|
||||
if (fs == NULL) return NULL;
|
||||
|
||||
prop_name = get_prop_name(dpy, fs);
|
||||
if (prop_name == NULL) return NULL;
|
||||
|
||||
name = (char*) Xmalloc(strlen(prop_name) + 1);
|
||||
if (name)
|
||||
strcpy(name, prop_name);
|
||||
|
||||
name = get_prop_name(dpy, fs);
|
||||
XFreeFont(dpy, fs);
|
||||
}
|
||||
return name;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue