From: Oleksandr Kaspruk Date: Tue, 28 May 2013 15:10:09 +0000 (+0300) Subject: Fixed N_SE-37599. Fixed N_SE-39684. Small memory leak fixed. X-Git-Tag: submit/tizen_2.2/20130714.153258~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9f19846af2678f9db8c3c503f367237de067219;p=framework%2Fosp%2Fvision.git Fixed N_SE-37599. Fixed N_SE-39684. Small memory leak fixed. Change-Id: I9e1945068357db08e30fe55ae8ae439dd9e2356e Signed-off-by: Oleksandr Kaspruk --- diff --git a/lib/armv7-a/libarengine.so b/lib/armv7-a/libarengine.so index 5462209..362ecad 100755 Binary files a/lib/armv7-a/libarengine.so and b/lib/armv7-a/libarengine.so differ diff --git a/lib/x86/libarengine.so b/lib/x86/libarengine.so index 992d74f..f8802b3 100755 Binary files a/lib/x86/libarengine.so and b/lib/x86/libarengine.so differ diff --git a/src/FUixVisionQrCodeGenerator.cpp b/src/FUixVisionQrCodeGenerator.cpp index 1c3b8ba..38ccbc2 100644 --- a/src/FUixVisionQrCodeGenerator.cpp +++ b/src/FUixVisionQrCodeGenerator.cpp @@ -59,7 +59,8 @@ QrCodeGenerator::EncodeToBufferN(const Tizen::Base::String& message, QrCodeMode "message must not be empty. [E_INVALID_ARG]"); Tizen::Text::Utf8Encoding utf8; - __pQrCodeGeneratorImpl->Encode((char*) utf8.GetBytesN(message)->GetPointer(), mode, error_level, compatibility); + std::unique_ptr pMessageBuffer(utf8.GetBytesN(message)); + __pQrCodeGeneratorImpl->Encode((char*) pMessageBuffer->GetPointer(), mode, error_level, compatibility); __pQrCodeGeneratorImpl->GetSize(width, height); std::unique_ptr pBuffer(new (std::nothrow) Tizen::Base::ByteBuffer()); @@ -83,14 +84,15 @@ QrCodeGenerator::EncodeToFile(const Tizen::Base::String& message, QrCodeMode mod { SysAssertf(__pQrCodeGeneratorImpl != null, "Not yet constructed! Consruct() should be called before use."); - SysSecureTryReturnResult(NID_UIX, !message.IsEmpty(), E_INVALID_ARG, - "message must not be empty. [E_INVALID_ARG]"); + SysSecureTryReturnResult(NID_UIX, !message.IsEmpty(), E_INVALID_ARG, + "message must not be empty. [E_INVALID_ARG]"); - SysSecureTryReturnResult(NID_UIX, !imageFilePath.IsEmpty(), E_INVALID_ARG, - "image path must not be empty. [E_INVALID_ARG]"); + SysSecureTryReturnResult(NID_UIX, !imageFilePath.IsEmpty(), E_INVALID_ARG, + "image path must not be empty. [E_INVALID_ARG]"); - Tizen::Text::Utf8Encoding utf8; - if (!__pQrCodeGeneratorImpl->Encode((char*) utf8.GetBytesN(message)->GetPointer(), mode, errorCorrectionLevel, compatibility)) + Tizen::Text::Utf8Encoding utf8; + std::unique_ptr pBuffer(utf8.GetBytesN(message)); + if (!__pQrCodeGeneratorImpl->Encode((char*) pBuffer->GetPointer(), mode, errorCorrectionLevel, compatibility)) { return E_FAILURE; } diff --git a/src/FUixVision_ImageFeatureManagerImpl.cpp b/src/FUixVision_ImageFeatureManagerImpl.cpp index 856ffad..5454ad4 100644 --- a/src/FUixVision_ImageFeatureManagerImpl.cpp +++ b/src/FUixVision_ImageFeatureManagerImpl.cpp @@ -93,7 +93,8 @@ _ImageFeatureManagerImpl::AddFeature(const unsigned char* data, int width, int h return -1; } Tizen::Text::Utf8Encoding utf8; - int index = (int) __imageFeatureManager->addImageToDB(data, width, height, (char*) utf8.GetBytesN(info)->GetPointer()); + std::unique_ptr pBuffer(utf8.GetBytesN(info)); + int index = (int) __imageFeatureManager->addImageToDB(data, width, height, (char*) pBuffer->GetPointer()); if (index > -1) { @@ -157,14 +158,16 @@ _ImageFeatureManagerImpl::SaveDB(bool optimizeDatabase, const Tizen::Base::Strin SysSecureTryReturnResult(NID_UIX, !dbPath->IsEmpty(), E_INVALID_ARG, "database path must not be empty. [E_INVALID_ARG]"); Tizen::Text::Utf8Encoding utf8; - result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) utf8.GetBytesN(*dbPath)->GetPointer()) ? E_SUCCESS : E_FAILURE; + std::unique_ptr pBuffer(utf8.GetBytesN(*dbPath)); + result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) pBuffer->GetPointer()) ? E_SUCCESS : E_FAILURE; } else { if (!__path.IsEmpty()) { Tizen::Text::Utf8Encoding utf8; - result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) utf8.GetBytesN(__path)->GetPointer()) ? E_SUCCESS : E_FAILURE; + std::unique_ptr pBuffer(utf8.GetBytesN(__path)); + result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) pBuffer->GetPointer()) ? E_SUCCESS : E_FAILURE; if (E_FAILURE == result && __readOnly) { result = E_INVALID_ARG; @@ -202,7 +205,8 @@ _ImageFeatureManagerImpl::OpenDB(const Tizen::Base::String& dbpath) __imageFeatureManager->initDB(); Tizen::Text::Utf8Encoding utf8; - switch (__imageFeatureManager->openDB((const char*) utf8.GetBytesN(dbpath)->GetPointer())) + std::unique_ptr pBuffer(utf8.GetBytesN(dbpath)); + switch (__imageFeatureManager->openDB((const char*) pBuffer->GetPointer())) { case 0: //ok __path = dbpath;