diff options
Diffstat (limited to 'src/ipcpd')
| -rw-r--r-- | src/ipcpd/normal/connmgr.c | 7 | ||||
| -rw-r--r-- | src/ipcpd/normal/enroll.c | 11 | 
2 files changed, 6 insertions, 12 deletions
| diff --git a/src/ipcpd/normal/connmgr.c b/src/ipcpd/normal/connmgr.c index 87daeddb..c86beae8 100644 --- a/src/ipcpd/normal/connmgr.c +++ b/src/ipcpd/normal/connmgr.c @@ -1,7 +1,7 @@  /*   * Ouroboros - Copyright (C) 2016 - 2017   * - * Handles the different AP connections + * Handles AE connections   *   *    Dimitri Staessens <dimitri.staessens@ugent.be>   *    Sander Vrijders   <sander.vrijders@ugent.be> @@ -285,7 +285,10 @@ int connmgr_alloc(struct ae *   ae,                  return -1;          } -        conn->flow_info.qs = *qs; +        if (qs != NULL) +                conn->flow_info.qs = *qs; +        else +                memset(&conn->flow_info.qs, 0, sizeof(conn->flow_info.qs));          if (flow_alloc_res(conn->flow_info.fd)) {                  log_err("Flow allocation to %s failed.", dst_name); diff --git a/src/ipcpd/normal/enroll.c b/src/ipcpd/normal/enroll.c index 4e510038..bdf55fe8 100644 --- a/src/ipcpd/normal/enroll.c +++ b/src/ipcpd/normal/enroll.c @@ -106,8 +106,6 @@ static void * enroll_handle(void * o)                          if (oc != CDAP_READ) {                                  log_warn("Invalid request.");                                  cdap_reply_send(cdap, key, -1, NULL, 0); -                                cdap_destroy(cdap); -                                flow_dealloc(conn.flow_info.fd);                                  free(name);                                  continue;                          } @@ -126,14 +124,10 @@ static void * enroll_handle(void * o)                                  buf[1] = hton64(t.tv_nsec);                                  cdap_reply_send(cdap, key, 0, buf, sizeof(buf));                                  free(name); -                                cdap_destroy(cdap); -                                flow_dealloc(conn.flow_info.fd);                                  continue;                          } else {                                  log_warn("Illegal read: %s.", name);                                  cdap_reply_send(cdap, key, -1, NULL, 0); -                                cdap_destroy(cdap); -                                flow_dealloc(conn.flow_info.fd);                                  free(name);                                  continue;                          } @@ -142,8 +136,6 @@ static void * enroll_handle(void * o)                          if (len < 0) {                                  log_err("Failed to pack %s.", name);                                  cdap_reply_send(cdap, key, -1, NULL, 0); -                                cdap_destroy(cdap); -                                flow_dealloc(conn.flow_info.fd);                                  free(name);                                  continue;                          } @@ -154,8 +146,7 @@ static void * enroll_handle(void * o)                          if (cdap_reply_send(cdap, key, 0, buf, len)) {                                  log_err("Failed to send CDAP reply."); -                                cdap_destroy(cdap); -                                flow_dealloc(conn.flow_info.fd); +                                free(buf);                                  continue;                          } | 
