From 99263d54d1b9d2c259a4cdf271079d864b685d76 Mon Sep 17 00:00:00 2001 From: Michal Maciola Date: Thu, 1 Jul 2021 11:29:22 +0200 Subject: [PATCH] svg_loader: multiple composition memory leak Multiple composition are still not supported, but this patch fixes a memory leak if it is tried to be applied. --- src/loaders/svg/tvgSvgLoader.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index cbf000b9..9a3ac426 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -869,7 +869,11 @@ static void _handleClipPathAttr(TVG_UNUSED SvgLoaderData* loader, SvgNode* node, #endif style->comp.method = CompositeMethod::ClipPath; int len = strlen(value); - if (len >= 3 && !strncmp(value, "url", 3)) style->comp.url = _idFromUrl((const char*)(value + 3)); + if (len >= 3 && !strncmp(value, "url", 3)) { + //FIXME: Support multiple composition. + if (style->comp.url) delete(style->comp.url); + style->comp.url = _idFromUrl((const char*)(value + 3)); + } }