diff options
Diffstat (limited to 'src/ipcpd/normal')
| -rw-r--r-- | src/ipcpd/normal/fmgr.c | 4 | ||||
| -rw-r--r-- | src/ipcpd/normal/frct.c | 3 | 
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) | 
