diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-08-12 13:11:07 +0200 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-08-12 14:57:24 +0200 |
commit | 54b1ba99e15660e2e12dbc564f7e7428b5440446 (patch) | |
tree | 0a5fead93b09bf15eae5851e4b022f05df3fdae5 /src/ipcpd/ipcp.c | |
parent | 44cc6aaa41d88dc978a087178fd74a1c2dba70fd (diff) | |
download | ouroboros-54b1ba99e15660e2e12dbc564f7e7428b5440446.tar.gz ouroboros-54b1ba99e15660e2e12dbc564f7e7428b5440446.zip |
ipcpd: Fix bootstrap with api_bind
Calling api_bind during bootstrap caused the IRMd to lock up.
api_bind is now called after the normal completes bootstrapping.
Diffstat (limited to 'src/ipcpd/ipcp.c')
-rw-r--r-- | src/ipcpd/ipcp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ipcpd/ipcp.c b/src/ipcpd/ipcp.c index 5c066cb0..544b10df 100644 --- a/src/ipcpd/ipcp.c +++ b/src/ipcpd/ipcp.c @@ -184,7 +184,13 @@ void * ipcp_main_loop(void * o) } conf_msg = msg->conf; conf.type = conf_msg->ipcp_type; - conf.dif_name = conf_msg->dif_name; + conf.dif_name = strdup(conf_msg->dif_name); + if (conf.dif_name == NULL) { + ret_msg.has_result = true; + ret_msg.result = -1; + break; + } + if (conf_msg->ipcp_type == IPCP_NORMAL) { conf.addr_size = conf_msg->addr_size; conf.cep_id_size = conf_msg->cep_id_size; |