[cairo-commit] test/bitmap-font.c

Bryce Harrington bryce at kemper.freedesktop.org
Mon Jul 6 15:15:53 PDT 2015

 test/bitmap-font.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 943ba26a20f51b39b4b102f727a26e4f5e283063
Author: Arpit Jain <jain.arpit at samsung.com>
Date:   Fri Jul 3 15:31:48 2015 +0530

    test/bitmap-font: Fix use of pointer after freed pointer
    The pointer 'filename' is already freed and still used as a function
    argument.  This patch will free the pointer 'filename' only after it is
    Also, the patch ensures that it frees the pointer 'filename' before any
    return of this function.
    Fixes:  https://bugs.freedesktop.org/show_bug.cgi?id=91206
    Signed-off-by: Arpit Jain <jain.arpit at samsung.com>
    Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>

diff --git a/test/bitmap-font.c b/test/bitmap-font.c
index 0ec9b3d..525bafb 100644
--- a/test/bitmap-font.c
+++ b/test/bitmap-font.c
@@ -94,9 +94,9 @@ draw (cairo_t *cr, int width, int height)
     pattern = FcFreeTypeQuery ((unsigned char *)filename, 0, NULL, &face_count);
-    free (filename);
     if (! pattern) {
 	cairo_test_log (ctx, "FcFreeTypeQuery failed.\n");
+	free (filename);
 	return cairo_test_status_from_status (ctx, CAIRO_STATUS_NO_MEMORY);
@@ -108,9 +108,11 @@ draw (cairo_t *cr, int width, int height)
 	cairo_test_log (ctx, "Error creating font face for %s: %s\n",
 			cairo_status_to_string (status));
+	free (filename);
 	return cairo_test_status_from_status (ctx, status);
+    free (filename);
     if (cairo_font_face_get_type (font_face) != CAIRO_FONT_TYPE_FT) {
 	cairo_test_log (ctx, "Unexpected value from cairo_font_face_get_type: %d (expected %d)\n",
 			cairo_font_face_get_type (font_face), CAIRO_FONT_TYPE_FT);

More information about the cairo-commit mailing list