aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/src/hicn/io
diff options
context:
space:
mode:
authorJordan Augé <jordan.auge@cisco.com>2019-10-28 15:44:42 +0100
committerMauro Sardara <msardara@cisco.com>2019-10-30 14:46:57 +0000
commit5fca7ef4838c6a8aede8a5e338940804e8e363f7 (patch)
tree341257400aaa3dd428340418a2c1a808bdbbb01c /hicn-light/src/hicn/io
parent3d674d504306489c4d845260f058ce44aa083f33 (diff)
[HICN-363] Fix memory leaks
Change-Id: I7617becdb520f20caca341be11fbb8c1054de021 Signed-off-by: Jordan Augé <jordan.auge@cisco.com>
Diffstat (limited to 'hicn-light/src/hicn/io')
-rw-r--r--hicn-light/src/hicn/io/hicnListener.c2
-rw-r--r--hicn-light/src/hicn/io/listenerSet.c2
-rw-r--r--hicn-light/src/hicn/io/streamConnection.c1
-rw-r--r--hicn-light/src/hicn/io/udpListener.c9
4 files changed, 11 insertions, 3 deletions
diff --git a/hicn-light/src/hicn/io/hicnListener.c b/hicn-light/src/hicn/io/hicnListener.c
index a60c4dd12..5a47982ff 100644
--- a/hicn-light/src/hicn/io/hicnListener.c
+++ b/hicn-light/src/hicn/io/hicnListener.c
@@ -31,7 +31,7 @@
#include <parc/algol/parc_Memory.h>
#include <parc/algol/parc_Network.h>
#include <parc/assert/parc_Assert.h>
-#include <hicn/core/mapMe.h>
+#include <hicn/core/mapme.h>
#include <hicn/core/messagePacketType.h>
#include <hicn/io/listener.h>
#include <hicn/socket/api.h>
diff --git a/hicn-light/src/hicn/io/listenerSet.c b/hicn-light/src/hicn/io/listenerSet.c
index 45dbe887a..d69632287 100644
--- a/hicn-light/src/hicn/io/listenerSet.c
+++ b/hicn-light/src/hicn/io/listenerSet.c
@@ -175,7 +175,7 @@ void listenerSet_RemoveById(const ListenerSet *set, unsigned id) {
ListenerOps *ops = parcArrayList_Get(set->listOfListeners, i);
parcAssertNotNull(ops, "Got null listener ops at index %zu", i);
if (ops->getInterfaceIndex(ops) == id) {
- parcArrayList_RemoveAtIndex(set->listOfListeners, i);
+ parcArrayList_RemoveAndDestroyAtIndex(set->listOfListeners, i);
break;
}
}
diff --git a/hicn-light/src/hicn/io/streamConnection.c b/hicn-light/src/hicn/io/streamConnection.c
index 08ff728d6..4e2f9c37e 100644
--- a/hicn-light/src/hicn/io/streamConnection.c
+++ b/hicn-light/src/hicn/io/streamConnection.c
@@ -598,6 +598,7 @@ static void _conn_readcb(PARCEventQueue *event, PARCEventType type,
// If received correctly the whole message, send to dispatcher
if (message) {
forwarder_ReceiveCommand(stream->forwarder, command, rx, stream->id);
+ parcMemory_Deallocate((void **)&rx);
parcEventBuffer_Destroy(&message);
}
diff --git a/hicn-light/src/hicn/io/udpListener.c b/hicn-light/src/hicn/io/udpListener.c
index f43756a11..e484dc2db 100644
--- a/hicn-light/src/hicn/io/udpListener.c
+++ b/hicn-light/src/hicn/io/udpListener.c
@@ -282,8 +282,13 @@ ListenerOps *udpListener_CreateInet(Forwarder *forwarder, char *listenerName,
myerrno, strerror(myerrno));
parcMemory_Deallocate((void **)&str);
}
-
+ parcMemory_Deallocate((void **)&udp->listenerName);
+ parcMemory_Deallocate((void **)&udp->interfaceName);
+#ifndef _WIN32
close(udp->udp_socket);
+#else
+ closesocket(udp->udp_socket);
+#endif
addressDestroy(&udp->localAddress);
logger_Release(&udp->logger);
parcMemory_Deallocate((void **)&udp);
@@ -304,6 +309,8 @@ static void udpListener_Destroy(UdpListener **listenerPtr) {
"UdpListener %p destroyed", (void *)udp);
}
+ parcMemory_Deallocate((void **)&udp->listenerName);
+ parcMemory_Deallocate((void **)&udp->interfaceName);
#ifndef _WIN32
close(udp->udp_socket);
#else