summaryrefslogtreecommitdiff
path: root/src/ipcpd/ipcp.c
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-08-12 13:11:07 +0200
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-08-12 14:57:24 +0200
commit54b1ba99e15660e2e12dbc564f7e7428b5440446 (patch)
tree0a5fead93b09bf15eae5851e4b022f05df3fdae5 /src/ipcpd/ipcp.c
parent44cc6aaa41d88dc978a087178fd74a1c2dba70fd (diff)
downloadouroboros-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.c8
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;