summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ipcpd/normal/fmgr.c4
-rw-r--r--src/ipcpd/normal/frct.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ipcpd/normal/fmgr.c b/src/ipcpd/normal/fmgr.c
index 5a1bd842..6d1694ab 100644
--- a/src/ipcpd/normal/fmgr.c
+++ b/src/ipcpd/normal/fmgr.c
@@ -579,6 +579,7 @@ int fmgr_np1_alloc_resp(int fd,
ipcp_flow_get_qoscube(fd, &cube);
if (frct_i_accept(fmgr.np1_fd_to_cep_id[fd], &buf, cube)) {
pthread_rwlock_unlock(&fmgr.np1_flows_lock);
+ free(buf.data);
return -1;
}
flow_set_add(fmgr.np1_set[cube], fd);
@@ -586,6 +587,8 @@ int fmgr_np1_alloc_resp(int fd,
pthread_rwlock_unlock(&fmgr.np1_flows_lock);
+ free(buf.data);
+
return 0;
}
@@ -753,6 +756,7 @@ int fmgr_nm1_write_buf(struct pci * pci,
return -1;
}
+ free(buffer->data);
free(buffer);
return 0;
}
diff --git a/src/ipcpd/normal/frct.c b/src/ipcpd/normal/frct.c
index 01bdb660..017d0d93 100644
--- a/src/ipcpd/normal/frct.c
+++ b/src/ipcpd/normal/frct.c
@@ -371,10 +371,11 @@ int frct_i_destroy(cep_id_t id,
pci.qos_id = instance->cube;
frct.instances[id] = NULL;
- destroy_frct_i(instance);
release_cep_id(instance->cep_id);
+ destroy_frct_i(instance);
+
pthread_mutex_unlock(&frct.instances_lock);
if (buf != NULL && buf->data != NULL)