summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-02-01 12:30:56 +0200
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-02-01 23:45:09 -0800
commitcc686655d7bfdeab8b67e01a24bd452a2e9e3fcf (patch)
tree32ff281f351c2bcd5845f360bbaa0118697c9e5e
parent95796351435d81eaef8166d49ba3a6e7b633d70a (diff)
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>
-rw-r--r--src/xlibi18n/XDefaultOMIF.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/xlibi18n/XDefaultOMIF.c b/src/xlibi18n/XDefaultOMIF.c
index bc6b1b93..ae8ac79e 100644
--- a/src/xlibi18n/XDefaultOMIF.c
+++ b/src/xlibi18n/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;