Fix memory leaks 18/77218/5
authorOskar Świtalski <o.switalski@samsung.com>
Wed, 29 Jun 2016 05:35:35 +0000 (07:35 +0200)
committerZofia Abramowska <z.abramowska@samsung.com>
Wed, 23 Nov 2016 14:17:04 +0000 (15:17 +0100)
Change-Id: I28a3c6b005996e972f2a1cfeb42f14ee82833777
Signed-off-by: Oskar Świtalski <o.switalski@samsung.com>
src/agent/notification-daemon/AskUserTalker.cpp
src/agent/notification-daemon/GuiRunner.cpp

index 45d16ab..e197f7a 100644 (file)
@@ -157,7 +157,6 @@ void AskUserTalker::run()
 
     while (!stopFlag) {
         size_t size;
-        char *buf;
         NotificationResponse response;
 
         ALOGD("Waiting for request...");
@@ -169,15 +168,14 @@ void AskUserTalker::run()
 
         Limits::checkSizeLimit(size);
 
-        buf = new char[size];
+        std::unique_ptr<char[]> buf(new char[size]);
 
-        if (!Socket::recv(sockfd, buf, size)) {
+        if (!Socket::recv(sockfd, buf.get(), size)) {
             ALOGI("Askuserd closed connection, closing...");
             break;
         }
 
-        NotificationRequest request = Translator::Gui::dataToNotificationRequest(buf);
-        delete[] buf;
+        NotificationRequest request = Translator::Gui::dataToNotificationRequest(buf.get());
         ALOGD("Recieved data " << request.data.client << " " << request.data.privilege);
 
         response.response = m_gui->popupRun(request.data.client, request.data.privilege);
index f8b9cee..42dc860 100644 (file)
@@ -188,8 +188,8 @@ NResponseType GuiRunner::popupRun(const std::string &app, const std::string &per
             initialize();
 
         m_running = true;
-        drop *Drop = new drop({m_dropHandler, m_popupData});
-        m_timer = ecore_timer_add(0.1, timeout_answer, Drop);
+        std::unique_ptr<drop> Drop(new drop({m_dropHandler, m_popupData}));
+        m_timer = ecore_timer_add(0.1, timeout_answer, Drop.get());
 
         // create message
         char *messageFormat = dgettext(PROJECT_NAME, "SID_PRIVILEGE_REQUEST_DIALOG_MESSAGE");