From 2bce39a279ef6f420f425582af94a8397da7bc93 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 16 Dec 2019 11:08:23 +0000 Subject: [PATCH] Fix memory leak importing zip.xml files --- renderdoc/serialise/codecs/xml_codec.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/renderdoc/serialise/codecs/xml_codec.cpp b/renderdoc/serialise/codecs/xml_codec.cpp index 80df6b28a..2114f15f8 100644 --- a/renderdoc/serialise/codecs/xml_codec.cpp +++ b/renderdoc/serialise/codecs/xml_codec.cpp @@ -955,12 +955,11 @@ ReplayStatus importXMLZ(const char *filename, StreamReader &reader, RDCFile *rdc } } - uint64_t len = reader.GetSize(); - char *buf = new char[(size_t)len + 1]; - reader.Read(buf, (size_t)len); - buf[len] = 0; + rdcstr buf; + buf.resize((size_t)reader.GetSize()); + reader.Read(buf.data(), buf.size()); - return XML2Structured(buf, thumb, extThumb, structData.buffers, rdc, structData.version, + return XML2Structured(buf.c_str(), thumb, extThumb, structData.buffers, rdc, structData.version, structData.chunks, progress); }