svg/loader: Fix memory leak

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11908
This commit is contained in:
Subhransu Mohanty 2020-06-01 18:53:36 +09:00 committed by Stefan Schmidt
parent a111e9702c
commit 5d19a932e8
2 changed files with 8 additions and 3 deletions

View File

@ -2410,6 +2410,7 @@ static Eina_Bool
evas_vg_load_file_close_svg(Vg_File_Data *vfd)
{
if (vfd->root) efl_unref(vfd->root);
free(vfd);
return EINA_TRUE;
}
@ -2462,7 +2463,9 @@ evas_vg_load_file_open_svg(Eina_File *file,
}
free(loader.svg_parse);
return vg_common_svg_create_vg_node(loader.doc);
Vg_File_Data* result = vg_common_svg_create_vg_node(loader.doc);
vg_common_svg_node_free(loader.doc);
return result;
}
static Evas_Vg_Load_Func evas_vg_load_svg_func =

View File

@ -536,12 +536,14 @@ vg_common_svg_node_free(Svg_Node *node)
{
_svg_style_gradient_free(grad);
}
case SVG_NODE_CUSTOME_COMMAND:
if (node->node.command.commands) free(node->node.command.commands);
if (node->node.command.points) free(node->node.command.points);
break;
default:
break;
}
if (node->node.command.commands_count > 0) free(node->node.command.commands);
if (node->node.command.points_count > 0) free(node->node.command.points);
free(node);
}