diff options
| author | dimitri staessens <dimitri.staessens@ugent.be> | 2017-03-15 08:09:15 +0000 | 
|---|---|---|
| committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-03-15 08:09:15 +0000 | 
| commit | b44cdf4069f30e342dfb80ec3eef7dd5c37367d0 (patch) | |
| tree | e95f8f7aebc8af0003ff5d99fc1ef9b4d93be534 /src/ipcpd | |
| parent | 366fcbec4fb7de21c553f24efb977b45bf27f2e6 (diff) | |
| parent | e26ddb08e8a5f37ca2caf9bd7a96c956816e96de (diff) | |
| download | ouroboros-b44cdf4069f30e342dfb80ec3eef7dd5c37367d0.tar.gz ouroboros-b44cdf4069f30e342dfb80ec3eef7dd5c37367d0.zip  | |
Merged in dstaesse/ouroboros/be-fixes (pull request #401)
Be fixes
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;                          }  | 
