Fix mem leak when failing to end a serialization.

We'd probably know about it if that actually ever happened in practice
(which it shouldn't).
This commit is contained in:
Jon Siwek 2013-09-05 15:30:28 -05:00
parent 703ef3b908
commit 766cc0d220

View file

@ -70,12 +70,8 @@ bool Serializer::StartSerialization(SerialInfo* info, const char* descr,
bool Serializer::EndSerialization(SerialInfo* info)
{
ChunkedIO::Chunk* chunk = new ChunkedIO::Chunk;
chunk->len = format->EndWrite(&chunk->data);
if ( info->chunk )
{
if ( ! io->Write(info->chunk) )
{
Error(io->Error());
@ -83,6 +79,9 @@ bool Serializer::EndSerialization(SerialInfo* info)
}
}
ChunkedIO::Chunk* chunk = new ChunkedIO::Chunk;
chunk->len = format->EndWrite(&chunk->data);
if ( ! io->Write(chunk) )
{
Error(io->Error());