Fix minor defects 11/60911/1
authorKyungwook Tak <k.tak@samsung.com>
Thu, 3 Mar 2016 02:14:52 +0000 (11:14 +0900)
committerKyungwook Tak <k.tak@samsung.com>
Thu, 3 Mar 2016 02:14:52 +0000 (11:14 +0900)
- use free() instead of delete for c-string
- use strncpy instead of strcpy to be safe

Change-Id: I9ead030be37f5b000547a0beaf3d1f143fc58543
Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
src/common/ui/connection.cpp
src/common/ui/popup-bin/popup.cpp

index 1660411..d9b3b47 100644 (file)
@@ -69,7 +69,7 @@ void SockRaii::connectWrapper(int sock, const std::string &interface)
 
        memset(&clientaddr, 0, sizeof(clientaddr));
        clientaddr.sun_family = AF_UNIX;
-       strcpy(clientaddr.sun_path, interface.c_str());
+       strncpy(clientaddr.sun_path, interface.c_str(), sizeof(clientaddr.sun_path) - 1);
 
        int ret = TEMP_FAILURE_RETRY(
                        ::connect(sock, (struct sockaddr *)&clientaddr, SUN_LEN(&clientaddr)));
index 574ece0..0cd22e8 100644 (file)
@@ -22,6 +22,7 @@
 #include <vector>
 #include <memory>
 #include <string>
+#include <functional>
 #include <libintl.h>
 #include <poll.h>
 #include <sys/un.h>
@@ -45,6 +46,8 @@ using namespace TPKP::UI;
 
 namespace {
 
+using CstringPtr = std::unique_ptr<char, std::function<void(void*)>>;
+
 struct TpkpPopup {
        /* inputs */
        std::string hostname;
@@ -130,7 +133,7 @@ Eina_Bool timeoutCb(void *data)
        return ECORE_CALLBACK_CANCEL;
 }
 
-std::unique_ptr<char> getPopupContentString(TpkpPopup *pdp)
+CstringPtr getPopupContentString(TpkpPopup *pdp)
 {
        char *contentFormat = dgettext(PROJECT_NAME, "SID_CONTENT_PUBLIC_KEY_MISMATCHED");
        char *content = nullptr;
@@ -139,7 +142,7 @@ std::unique_ptr<char> getPopupContentString(TpkpPopup *pdp)
                TPKP_THROW_EXCEPTION(TPKP_E_MEMORY,
                        "Failed to alloc memory for popup text");
 
-       return std::unique_ptr<char>(content);
+       return CstringPtr(content, free);
 }
 
 /*