[libgxps] Fixed memory leak when parsing a brush fails
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgxps] Fixed memory leak when parsing a brush fails
- Date: Mon, 30 Jan 2012 12:57:22 +0000 (UTC)
commit 4874d0f48dd3a72865d4df579cb3563c520f6d6a
Author: Jason Crain <jason aquaticape us>
Date: Fri Jan 6 22:06:13 2012 -0600
Fixed memory leak when parsing a brush fails
A GXPSBrush struct is leaked when parsing fails for a child of a
XXX.Fill or XXX.Stroke element. Parsing is aborted when invalid data
is encountered and cleanup code is not run. This adds a error handler
to the brush GMarkupParser to free the struct on error.
https://bugzilla.gnome.org/show_bug.cgi?id=668968
libgxps/gxps-brush.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/libgxps/gxps-brush.c b/libgxps/gxps-brush.c
index b573bd5..6cad41d 100644
--- a/libgxps/gxps-brush.c
+++ b/libgxps/gxps-brush.c
@@ -1042,11 +1042,21 @@ brush_end_element (GMarkupParseContext *context,
}
}
+static void
+brush_error (GMarkupParseContext *context,
+ GError *error,
+ gpointer user_data)
+{
+ GXPSBrush *brush = (GXPSBrush *)user_data;
+ gxps_brush_free (brush);
+}
+
static GMarkupParser brush_parser = {
brush_start_element,
brush_end_element,
NULL,
- NULL
+ NULL,
+ brush_error
};
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]