src:http://tamss60.tamoggemon.com/2009/11/26/on-rarray-appendl-memory-leaks/comment-page-1
Working with Symbian isn’t always easy. Especially when it comes to hunting memory leaks – yours truly did that for about an hour while finishing work on version 2 of LocaNote Lite.
One of the weirdest leaks I saw in this session concerns the code below – the leak occurred in the bold lines:
HBufC* alpha=itemArray->MdcaPoint(i).Alloc();
TPtrC beta=alpha->Des();
anArray->Append(beta);
garbageArray->Append(alpha);
Huh? Leaks while appending something? Weird.
The solution for the problem is outlined in the code segment below:void CLocaNoteListView::SortList()
{
CTextListBoxModel* model = LstFiles()->Model();
CDesCArray* itemArray = static_cast ( model->ItemTextArray() );
RArray *anArray;
RArray *garbageArray=new RArray(itemArray->Count());
TInt i;
anArray=new RArray(itemArray->Count());
...
anArray->Reset();
garbageArray->Reset();
delete anArray;
delete garbageArray;
}
So: when using RArrays, don’t forget to call Reset before blasting them to oblivion…