Fixed issue N_SE-48552 and prevent defects
[apps/osp/Internet.git] / src / IntHistoryListForm.cpp
index 5ef2de1..ab1b91d 100644 (file)
@@ -524,34 +524,40 @@ HistoryListForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
        if(__pGroupData == null)
        {
                delete pItem;
+               delete pImage;
                return null;
        }
 
        if (pItem == null)
        {
+               delete pImage;
                return null;
        }
        pGroupItemClass = dynamic_cast< GroupItemClass* >(__pGroupData->GetAt(groupIndex));
        if (pGroupItemClass == null)
        {
                delete pItem;
+               delete pImage;
                return null;
        }
        if (pGroupItemClass->GetHistoryData() == null)
        {
                delete pItem;
+               delete pImage;
                return null;
        }
        pHistory = dynamic_cast< History* >(pGroupItemClass->GetHistoryData()->GetAt(itemIndex));
        if (pHistory == null)
        {
                delete pItem;
+               delete pImage;
                return null;
        }
        r = pItem->Construct(Dimension(itemWidth, 128 - 44 + __fontSize), LIST_ANNEX_STYLE_NORMAL);
        if (IsFailed(r))
        {
                delete pItem;
+               delete pImage;
                return null;
        }
 
@@ -587,6 +593,7 @@ HistoryListForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
                if (IsFailed(r))
                {
                        delete pItem;
+                       delete pImage;
                        AppLogException("CreateItem failed with %s", GetErrorMessage(r));
                        return null;
                }
@@ -636,6 +643,7 @@ HistoryListForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
 
        CATCH:
        delete pItem;
+       delete pImage;
        return null;
 }