summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongsun Lee <ds73.lee@samsung.com>2018-03-22 16:50:00 +0900
committerPawel Kowalski <p.kowalski2@partner.samsung.com>2018-12-21 07:37:03 +0100
commitdc16931fd5bccca6622030c0ba9e85f2c2ccda62 (patch)
tree89c722c7bf14cbc9090054b06c5712d7f8d8aa29
parentd793d73f28b6e5498316e7f22c7cf0041080b6ab (diff)
downloadkey-manager-dc16931fd5bccca6622030c0ba9e85f2c2ccda62.tar.gz
key-manager-dc16931fd5bccca6622030c0ba9e85f2c2ccda62.tar.bz2
key-manager-dc16931fd5bccca6622030c0ba9e85f2c2ccda62.zip
- 105284: Buffer not null terminated - 108955: Big parameter passed by value - 109815: Uncaught exception Change-Id: I303a652d6ae0540f7d6daa833a30ef0fb691ffb8 Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
-rw-r--r--src/manager/client-async/connection-thread.cpp12
-rw-r--r--src/manager/service/encryption-service.cpp2
-rw-r--r--src/manager/service/key-provider.cpp2
3 files changed, 12 insertions, 4 deletions
diff --git a/src/manager/client-async/connection-thread.cpp b/src/manager/client-async/connection-thread.cpp
index 555056bc..d663513c 100644
--- a/src/manager/client-async/connection-thread.cpp
+++ b/src/manager/client-async/connection-thread.cpp
@@ -57,8 +57,16 @@ ConnectionThread::ConnectionThread() :
ConnectionThread::~ConnectionThread()
{
m_join = true;
- m_pipe.notify();
- m_thread.join();
+ try {
+ m_pipe.notify();
+ m_thread.join();
+ } catch (CKM::Exception &e) {
+ LogError("CKM::Exception::Exception " << e.DumpToString());
+ } catch (std::exception &e) {
+ LogError("STD exception " << e.what());
+ } catch (...) {
+ LogError("Unknown exception occured");
+ }
}
void ConnectionThread::run()
diff --git a/src/manager/service/encryption-service.cpp b/src/manager/service/encryption-service.cpp
index f8868676..e4035848 100644
--- a/src/manager/service/encryption-service.cpp
+++ b/src/manager/service/encryption-service.cpp
@@ -103,7 +103,7 @@ bool EncryptionService::ProcessOne(
ProcessEncryption(conn, info.credentials, info.buffer);
return true;
- } catch (MessageBuffer::Exception::Base) {
+ } catch (MessageBuffer::Exception::Base &) {
LogError("Broken protocol. Closing socket.");
} catch (const std::exception &e) {
LogError("Std exception:: " << e.what());
diff --git a/src/manager/service/key-provider.cpp b/src/manager/service/key-provider.cpp
index 60cce238..15bff3d6 100644
--- a/src/manager/service/key-provider.cpp
+++ b/src/manager/service/key-provider.cpp
@@ -56,7 +56,7 @@ void WrappedKeyAndInfoContainer::setKeyInfoLabel(const std::string label)
strncpy(
wrappedKeyAndInfo->keyInfo.label,
label.c_str(),
- MAX_LABEL_SIZE);
+ MAX_LABEL_SIZE-1);
}
void WrappedKeyAndInfoContainer::setKeyInfoSalt(const unsigned char *salt,