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
used.

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@samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
Arpit Jain 2015-07-03 15:31:48 +05:30 committed by Bryce Harrington
parent dced42a680
commit 943ba26a20

View file

@ -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",
filename,
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);