summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander.conselvan-de-oliveira@nokia.com>2011-03-25 14:47:35 +0200
committerAnder Conselvan de Oliveira <ander.conselvan-de-oliveira@nokia.com>2011-04-13 11:06:00 +0300
commitac1e2bff7121987fd768500a11d428d9fb9447c5 (patch)
treecfd56f24930b4409eec1ce9cd5b23ee408a039df
parent7c362e275c93c92b4e68fe862e73ee36665de703 (diff)
om: Fix memory leaks on get_font_name error paths.
While at it, remove unneeded check for NULL before Xfree. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan-de-oliveira@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--modules/om/generic/omGeneric.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/modules/om/generic/omGeneric.c b/modules/om/generic/omGeneric.c
index 8f021668..44143ac2 100644
--- a/modules/om/generic/omGeneric.c
+++ b/modules/om/generic/omGeneric.c
@@ -575,7 +575,7 @@ get_rotate_fontname(
}
if(field_num < CHARSET_ENCODING_FIELD)
- return NULL;
+ goto free_pattern;
/* Pixel Size field : fields[6] */
for(ptr = fields[PIXEL_SIZE_FIELD - 1] ; ptr && *ptr; ptr++) {
@@ -584,9 +584,7 @@ get_rotate_fontname(
strcpy(pattern, font_name);
return(pattern);
}
- if(pattern)
- Xfree(pattern);
- return NULL;
+ goto free_pattern;
}
}
pixel_size = atoi(fields[PIXEL_SIZE_FIELD - 1]);
@@ -605,11 +603,11 @@ get_rotate_fontname(
/* Max XLFD length is 255 */
if (len > XLFD_MAX_LEN)
- return NULL;
+ goto free_pattern;
rotate_font_ptr = (char *)Xmalloc(len + 1);
if(!rotate_font_ptr)
- return NULL;
+ goto free_pattern;
rotate_font_ptr[0] = '\0';
@@ -619,8 +617,8 @@ get_rotate_fontname(
strcat(rotate_font_ptr, fields[field_num]);
}
- if(pattern)
- Xfree(pattern);
+free_pattern:
+ Xfree(pattern);
return rotate_font_ptr;
}