From fbebcdd42dd38c95affcbc6bc6979b30fca3a702 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 16 Aug 2010 08:14:34 +0000 Subject: [PATCH] CID 1743 : Memory leak on error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38132 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/remote/RemoteMessage.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/servers/app/drawing/remote/RemoteMessage.cpp b/src/servers/app/drawing/remote/RemoteMessage.cpp index 95fd17aa45..ceebf15d6c 100644 --- a/src/servers/app/drawing/remote/RemoteMessage.cpp +++ b/src/servers/app/drawing/remote/RemoteMessage.cpp @@ -259,10 +259,15 @@ RemoteMessage::ReadString(char** _string, size_t& _length) return B_NO_MEMORY; int32 readSize = fSource->Read(string, length); - if (readSize < 0) + if (readSize < 0) { + free(string); return readSize; - if ((uint32)readSize != length) + } + + if ((uint32)readSize != length) { + free(string); return B_ERROR; + } fDataLeft -= readSize;