[content] Fix mismatch deallocation tizen_2.1 accepted/tizen/20130520.101514 submit/tizen/20130517.045516 submit/tizen_2.1/20130515.031644
authorSeokpil Park <seokpil.park@samsung.com>
Tue, 14 May 2013 01:03:14 +0000 (10:03 +0900)
committerSeokpil Park <seokpil.park@samsung.com>
Tue, 14 May 2013 01:03:16 +0000 (10:03 +0900)
Change-Id: I5c4add6437dcc4bddc7faa9031d158f9c2aef100
Signed-off-by: Seokpil Park <seokpil.park@samsung.com>
src/FCnt_ContentDirectoryImpl.cpp
src/inc/FCnt_ContentDirectoryImpl.h

index aed58b2..e52ad21 100644 (file)
@@ -331,7 +331,7 @@ _ContentDirectoryImpl::GetContentDirectoryPathListN(Tizen::Base::SortOrder sortO
                        {
                                SysLog(NID_CNT, "pFolderPath is [%s].", pTempFolderPath);
 
-                               std::unique_ptr<char[]> pFolderPath(pTempFolderPath);
+                               std::unique_ptr<char[], CharDeleter> pFolderPath(pTempFolderPath);
                                SysTryReturn(NID_CNT, pFolderPath != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] pFolderPath is null.");
 
                                pValue = std::unique_ptr<Object>(new (std::nothrow) String(pFolderPath.get()));
@@ -404,7 +404,7 @@ _ContentDirectoryImpl::GetContentDirectoryItemCount(const Tizen::Base::String& c
 
        if (pTempFolderId != NULL)
        {
-               std::unique_ptr<char[]> pFolderId(pTempFolderId);
+               std::unique_ptr<char[], CharDeleter> pFolderId(pTempFolderId);
                SysTryReturnResult(NID_CNT, pFolderId != null, E_OUT_OF_MEMORY, "pFolderId is null.");
 
                r = CreateFolderFilter(__isMultiContentType, L"");
@@ -510,7 +510,7 @@ _ContentDirectoryImpl::GetContentDirectoryItemListN(const Tizen::Base::String& c
        std::unique_ptr<GList, GListDeleter> pItemList;
        GList* pTempList = null;
        char* pTempFolderId = null;
-       std::unique_ptr<char[]> pFolderId;
+       std::unique_ptr<char[], CharDeleter> pFolderId;
        std::unique_ptr<media_folder_s, FolderHandleDeleter> pFolderHandle;
        int offset = 0;
 
@@ -572,7 +572,7 @@ _ContentDirectoryImpl::GetContentDirectoryItemListN(const Tizen::Base::String& c
 
        if (pTempFolderId != NULL)
        {
-               pFolderId = std::unique_ptr<char[]>(pTempFolderId);
+               pFolderId = std::unique_ptr<char[], CharDeleter>(pTempFolderId);
                SysTryReturn(NID_CNT, pFolderId != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] pFolderId is null.");
 
                r = CreateFolderFilter(__isMultiContentType, L"");
index fdcda8c..2c6d223 100644 (file)
@@ -109,6 +109,15 @@ struct FilterHandleDeleter
        }
 };
 
+struct CharDeleter
+{
+       void operator()(char* character)
+       {
+               free(character);
+               character = NULL;
+       }
+};
+
 class _ContentDirectoryImpl
        : public Tizen::Base::Object
 {