From 139001b60b32e756e947d6e3a55767be9063029d Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Thu, 4 Aug 2016 12:53:28 +0200 Subject: ipcpd: Fix memory leaks ipcp-data was not correctly destroyed. --- src/ipcpd/local/main.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/ipcpd/local') diff --git a/src/ipcpd/local/main.c b/src/ipcpd/local/main.c index 4b9dcbbc..e77a0403 100644 --- a/src/ipcpd/local/main.c +++ b/src/ipcpd/local/main.c @@ -292,10 +292,6 @@ static int ipcp_local_name_reg(char * name) return -1; /* -ENOTENROLLED */ } - pthread_rwlock_unlock(&_ipcp->state_lock); - - pthread_rwlock_rdlock(&_ipcp->state_lock); - if (ipcp_data_add_reg_entry(_ipcp->data, name)) { pthread_rwlock_unlock(&_ipcp->state_lock); LOG_DBGF("Failed to add %s to local registry.", name); @@ -627,7 +623,8 @@ int main(int argc, char * argv[]) shim_ap_fini(); - free(_ipcp->data); + ipcp_data_destroy(_ipcp->data); + free(_ipcp->ops); free(_ipcp); -- cgit v1.2.3