Fix resource leak 10/256610/3
authorCheoleun Moon <chleun.moon@samsung.com>
Thu, 8 Apr 2021 05:35:34 +0000 (14:35 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Thu, 8 Apr 2021 05:40:32 +0000 (14:40 +0900)
Change-Id: I2ca6f040a8a0002a852143d02a39b573864c888d
Signed-off-by: Cheoleun Moon <chleun.moon@samsung.com>
src/vine-data-path-state.cpp
src/vine-data-path.cpp
src/vine-dp.cpp
src/vine-event-loop.cpp

index c177ad1bbb072a3b1a220b6bb3964622f9fb63cb..1254ca3425fa61abe677317a9034b81a68f8eb79 100644 (file)
@@ -365,11 +365,13 @@ void VineConnectedState::send_auth_response()
 
        if (frame == NULL) {
                handle_failure("Fail to allocate AUTH_RESPONSE");
+               free(psk);
                return;
        }
 
        g_dp_plugin_fn.write(__plugin, frame, size);
        release_auth_frame(frame);
+       free(psk);
 
        __sent_frame = AUTH_OP_RESPONSE;
 }
index 18d8be71b63876687460bed76025d250c5bfd675..7d567490f33ed0778b785e79892df05184a38fae 100755 (executable)
@@ -195,7 +195,6 @@ static void __invoke_accepted_user_cb(void *event, void *user_data)
 
        if (listen_dp && listen_dp->accepted_cb)
                listen_dp->accepted_cb(accepted_event->connected_dp, listen_dp->accepted_cb_data);
-       __free_accepted_event(accepted_event);
 }
 
 void notify_accepted(vine_data_path_h datapath, int result)
@@ -237,7 +236,6 @@ static void __invoke_opened_user_cb(void *event, void *user_data)
 
        if (dp && dp->opened_cb)
                dp->opened_cb(dp, opened_event->result, opened_event->port, dp->opened_cb_data);
-       free(opened_event);
 }
 static void __opened_cb(int result, int port, void *user_data)
 {
@@ -281,7 +279,6 @@ static void __invoke_connected_user_cb(void *event, void *user_data)
 
        if (dp && dp->connected_cb)
                dp->connected_cb(dp, connected_event->result, dp->connected_cb_data);
-       free(connected_event);
 }
 
 void notify_connected(vine_data_path_h datapath, int result)
index b705f2b669102157e5a7ba5fda3b0343db23a46c..17007e8e560948cd3c9f6a43a05709bf85f3f220 100644 (file)
@@ -735,7 +735,11 @@ int DPPubSub::publish_service()
 
        if (mSdPub == NULL) {
                ret = vine_disc_create(VINE_DISCOVERY_METHOD_DNS_SD, &mSdPub);
-               RET_VAL_IF(ret != VINE_ERROR_NONE, ret, "Fail to vine_disc_create");
+               if (ret != VINE_ERROR_NONE) {
+                       VINE_LOGE("Fail to vine_disc_create");
+                       vine_service_destroy(service);
+                       return ret;
+               }
        }
        ret = vine_disc_publish(mSdPub,
                        service, NULL,
index 3b663a7ae69519bb66be55dc70c366ba4bdae607..e8f6a67a5567c7026ff0ff0ba6bd9dd99b830e47 100644 (file)
@@ -296,6 +296,9 @@ int vine_event_loop_process(vine_event_queue_h event_fd)
                }
 
                event->handler(event->event_data, event->user_data);
+               if (event->free_func) {
+                       event->free_func(event->event_data);
+               }
        }
 
        return VINE_ERROR_NONE;