Fix prevent issue
authorSeungYeup Kim <sy2004.kim@samsung.com>
Wed, 3 Apr 2013 11:40:23 +0000 (20:40 +0900)
committerSeungYeup Kim <sy2004.kim@samsung.com>
Wed, 3 Apr 2013 11:40:23 +0000 (20:40 +0900)
Change-Id: I973367e07880e63580d7e28132fbfac828c9193a

src/io/FIo_DataRowImpl.cpp [changed mode: 0644->0755]
src/io/FIo_DataSetEnumeratorImpl.cpp [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 6e6f7be..97f211c
@@ -135,6 +135,7 @@ _DataRowImpl::SetDateTimeAt(int columnIndex, const Tizen::Base::DateTime& value)
        result r = E_SUCCESS;
        Integer* pColumnType = null;
        int nColumnType = DB_COLUMNTYPE_UNDEFINED;
+       char* pDateTimeStr;
 
        SysTryReturnResult(NID_IO, columnIndex >= 0 && columnIndex < __columnCount, E_INVALID_ARG,
                                   "Wrong column index.");
@@ -145,7 +146,9 @@ _DataRowImpl::SetDateTimeAt(int columnIndex, const Tizen::Base::DateTime& value)
                E_TYPE_MISMATCH, "Type mismatch");
 
        unique_ptr<_DataItem>pItem(new (std::nothrow) _DataItem());
-       unique_ptr<String> pString(new (std::nothrow) String(_StringConverter::CopyToCharArrayN(value.ToString())));
+       pDateTimeStr = _StringConverter::CopyToCharArrayN(value.ToString());
+       unique_ptr<String> pString(new (std::nothrow) String(pDateTimeStr));
+       delete pDateTimeStr;
        SysTryReturnResult(NID_IO, pItem != null && pString != null, E_OUT_OF_MEMORY,
                        "The memory is insufficient.");
 
old mode 100644 (file)
new mode 100755 (executable)
index c8daadd..b3e5d8f
@@ -346,10 +346,9 @@ _DataSetEnumeratorImpl::GetDateTimeAt(int columnIndex, DateTime& value) const
                }
 
                pStr = (String*)pDataItem->pObj;
+               r = DateTime::Parse(*pStr, value);
        }
 
-       r = DateTime::Parse(*pStr, value);
-
        // fall thru
 CATCH:
        return r;