From 05a96fd3980219251ebb1fd2b38ede3ffc49119b Mon Sep 17 00:00:00 2001 From: orignal Date: Tue, 15 Jul 2014 08:03:45 -0400 Subject: [PATCH] fixed memory leak --- SSUData.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/SSUData.cpp b/SSUData.cpp index fb887ea7..64887602 100644 --- a/SSUData.cpp +++ b/SSUData.cpp @@ -126,7 +126,9 @@ namespace ssu } else break; - } + } + if (isLast) + LogPrint ("Message ", msgID, " complete"); } } else @@ -138,7 +140,12 @@ namespace ssu { // missing fragment LogPrint ("Missing fragments from ", (int)incompleteMessage->nextFragmentNum, " to ", fragmentNum - 1, " of message ", msgID); - incompleteMessage->savedFragments.insert (new Fragment (fragmentNum, buf, fragmentSize, isLast)); + auto savedFragment = new Fragment (fragmentNum, buf, fragmentSize, isLast); + if (!incompleteMessage->savedFragments.insert (savedFragment).second) + { + LogPrint ("Fragment ", (int)fragmentNum, " of message ", msgID, " already saved"); + delete savedFragment; + } } isLast = false; }