Fixed memory leak
authorHosang Kim <hosang.kim@samsung.com>
Mon, 22 Apr 2013 13:59:10 +0000 (22:59 +0900)
committerHosang Kim <hosang.kim@samsung.com>
Mon, 22 Apr 2013 14:40:29 +0000 (23:40 +0900)
Change-Id: I34b88abe58a8db6ce418b3fce90c2da8e1762223
Signed-off-by: Hosang Kim <hosang.kim@samsung.com>
src/FScl_CalendarbookUtil.cpp
src/FScl_RecurrenceImpl.cpp

index 8f9d61a..f50361e 100644 (file)
@@ -174,8 +174,10 @@ _CalendarbookUtil::ConvertCharArrayToByteBufferN(const char* pCharArray)
        result r = E_SUCCESS;
        std::unique_ptr<ByteBuffer> pByteBuffer(new (std::nothrow) ByteBuffer());
        SysTryReturn(NID_SCL, pByteBuffer != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
-       r = pByteBuffer->Construct(pByteArray.release(), 0, byteBufferLength, byteBufferLength);
+       r = pByteBuffer->Construct(byteBufferLength);
        SysTryReturn(NID_SCL, r == E_SUCCESS, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+       r = pByteBuffer->SetArray(pByteArray.get(), 0, byteBufferLength);
+       pByteBuffer->Rewind();
 
        return pByteBuffer.release();
 }
index 9ba9a41..bcbd9ba 100644 (file)
@@ -263,7 +263,7 @@ _RecurrenceImpl::SetFrequency(RecurFrequency type)
        // reset all properties
        if (__pUntil != null)
        {
-               __pUntil.release();
+               __pUntil.reset();
        }
 
        __dayOfWeek = 0;
@@ -315,7 +315,7 @@ _RecurrenceImpl::SetUntil(const DateTime* pUntil)
        }
        else
        {
-               __pUntil.release();
+               __pUntil.reset();
                __count = _DEFAULT_COUNT;
        }