From 7547d1e6ca2696e99f8892ad33e0b8f4cb1a2598 Mon Sep 17 00:00:00 2001 From: Inhong Han Date: Thu, 10 Aug 2023 18:51:59 +0900 Subject: [PATCH] Fix issue detected by static analysis tool Change-Id: I105fa0d944a4e507103374a4a4fcaa2ac39f391d --- ism/src/scim_filter_manager.cpp | 9 ++++++--- ism/src/scim_socket.h | 2 +- ism/src/scim_utility.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ism/src/scim_filter_manager.cpp b/ism/src/scim_filter_manager.cpp index 2206e59..1fcdaf3 100644 --- a/ism/src/scim_filter_manager.cpp +++ b/ism/src/scim_filter_manager.cpp @@ -61,9 +61,12 @@ __initialize_modules (const ConfigPointer &config) if (!__number_of_modules) return; - __filter_modules = new FilterModule [__number_of_modules]; - - if (!__filter_modules) return; + try { + __filter_modules = new FilterModule [__number_of_modules]; + } catch (const std::exception & err) { + std::cerr << err.what () << "\n"; + return; + } unsigned int i, j; diff --git a/ism/src/scim_socket.h b/ism/src/scim_socket.h index 171cbd2..fc9e35d 100644 --- a/ism/src/scim_socket.h +++ b/ism/src/scim_socket.h @@ -367,7 +367,7 @@ public: /** * @brief Destructor. */ - ~SocketServer (); + virtual ~SocketServer (); /** * @brief Test if the server is valid. diff --git a/ism/src/scim_utility.cpp b/ism/src/scim_utility.cpp index 811bf72..7da9756 100644 --- a/ism/src/scim_utility.cpp +++ b/ism/src/scim_utility.cpp @@ -280,7 +280,7 @@ utf8_write_wchar (std::ostream &os, ucs4_t wc) int count = 0; if ((count=utf8_wctomb (utf8, wc, 6)) > 0) - os.write ((char*)utf8, (unsigned)count * sizeof (unsigned char)); + os.write ((char*)utf8, (std::streamsize)(count * sizeof (unsigned char))); return os; } -- 2.7.4