GNOME Bugzilla – Bug 761728
memory leak RsvgFilterPrimitiveComponentTransfer
Last modified: 2016-03-31 01:51:51 UTC
The constructor "rsvg_new_filter_primitive_component_transfer" does not set a destructor. The following code corrects the memory leak: ----------------------------------------------------------------- static void rsvg_filter_primitive_component_transfer_free (RsvgNode * self) { RsvgFilterPrimitiveComponentTransfer *upself; upself = (RsvgFilterPrimitiveComponentTransfer*) self; g_string_free (upself->super.result, TRUE); g_string_free (upself->super.in, TRUE); _rsvg_node_free (self); } RsvgNode * rsvg_new_filter_primitive_component_transfer (void) { RsvgFilterPrimitiveComponentTransfer *filter; filter = g_new (RsvgFilterPrimitiveComponentTransfer, 1); _rsvg_node_init (&filter->super.super, RSVG_NODE_TYPE_FILTER_PRIMITIVE_COMPONENT_TRANSFER); filter->super.result = g_string_new ("none"); filter->super.in = g_string_new ("none"); filter->super.x.factor = filter->super.y.factor = filter->super.width.factor = filter->super.height.factor = 'n'; filter->super.render = &rsvg_filter_primitive_component_transfer_render; filter->super.super.free = &rsvg_filter_primitive_component_transfer_free; filter->super.super.set_atts = rsvg_filter_primitive_component_transfer_set_atts; return (RsvgNode *) filter; }
Created attachment 320657 [details] [review] patch to add destructor
Could this simple patch get a review?
Good catch, thanks! I've pushed this as commit 76ad48b8210168869cedb1419b1e49dcf2e064a1. It should appear in librsvg 2.40.14.