diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-02-01 12:30:56 +0200 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2016-10-19 21:40:24 +0200 |
commit | 54550ebb2a1fc504406b199550b8e023ef2c9517 (patch) | |
tree | fa6f9d6e9349ad5690a3327dabe0a789d0ef6e39 /nx-X11/lib/X11 | |
parent | b7694b0b51cdf07f49d89132fbe100b5ebfb086b (diff) | |
download | nx-libs-54550ebb2a1fc504406b199550b8e023ef2c9517.tar.gz nx-libs-54550ebb2a1fc504406b199550b8e023ef2c9517.tar.bz2 nx-libs-54550ebb2a1fc504406b199550b8e023ef2c9517.zip |
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>
Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
Diffstat (limited to 'nx-X11/lib/X11')
-rw-r--r-- | nx-X11/lib/X11/XDefaultOMIF.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/nx-X11/lib/X11/XDefaultOMIF.c b/nx-X11/lib/X11/XDefaultOMIF.c index dbadd90aa..6975aa806 100644 --- a/nx-X11/lib/X11/XDefaultOMIF.c +++ b/nx-X11/lib/X11/XDefaultOMIF.c @@ -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; |