summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2017-09-26 17:04:34 +0200
committerDavid Tardon <dtardon@redhat.com>2017-09-26 17:04:34 +0200
commit7739316072ae4a95b1225067b944828429380fd7 (patch)
tree9a13b9cfc96ecbae80439c2a29610ad16fa83abe
parentf958f47bf16eb932c6e6aa3caebdde67470cd705 (diff)
ofz#3210 do not leak string
Change-Id: I5e0127e59438345a51c7037be64edf9ee5f3f565
-rw-r--r--src/lib/VDXParser.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/VDXParser.cpp b/src/lib/VDXParser.cpp
index ef6f7c6..f2f3154 100644
--- a/src/lib/VDXParser.cpp
+++ b/src/lib/VDXParser.cpp
@@ -912,12 +912,12 @@ xmlChar *libvisio::VDXParser::readStringData(xmlTextReaderPtr reader)
int ret = xmlTextReaderRead(reader);
if (1 == ret && XML_READER_TYPE_TEXT == xmlTextReaderNodeType(reader))
{
- xmlChar *stringValue = xmlTextReaderValue(reader);
+ std::unique_ptr<xmlChar, void (*)(void *)> stringValue(xmlTextReaderValue(reader), xmlFree);
ret = xmlTextReaderRead(reader);
if (1 == ret && stringValue)
{
VSD_DEBUG_MSG(("VDXParser::readStringData stringValue %s\n", (const char *)stringValue));
- return stringValue;
+ return stringValue.release();
}
}
return nullptr;