From fbcfb3f865d9e6cb38e9c5349200e3bd8124b5d7 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Sat, 30 Dec 2023 17:24:56 +0900 Subject: [PATCH] svg: ensure that all allocated memory. observed a memory leak at a corner case. --- src/loaders/svg/tvgSvgLoader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index e63622be..84163ba9 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -3528,6 +3528,10 @@ void SvgLoader::clear(bool all) loaderData.images.reset(); if (copy) free((char*)content); + + delete(root); + root = nullptr; + size = 0; content = nullptr; copy = false; @@ -3751,5 +3755,7 @@ bool SvgLoader::close() Paint* SvgLoader::paint() { this->done(); - return root; + auto ret = root; + root = nullptr; + return ret; }