summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-08-22 16:41:35 +0200
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-08-22 16:41:35 +0200
commit34123b6bfc39e5bea5f2c599b1eea51d3c82ba06 (patch)
treec97511258dca33022059718fc1ea666808222e42
parent82c6b3ed73b01321141488c634c9c1c4d515b04b (diff)
downloadouroboros-34123b6bfc39e5bea5f2c599b1eea51d3c82ba06.tar.gz
ouroboros-34123b6bfc39e5bea5f2c599b1eea51d3c82ba06.zip
tools: Fix segmentation faults
The apis parameter is not set if the IRMd is not running when running the tool.
-rw-r--r--src/tools/irm/irm_ipcp_bootstrap.c5
-rw-r--r--src/tools/irm/irm_ipcp_enroll.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/tools/irm/irm_ipcp_bootstrap.c b/src/tools/irm/irm_ipcp_bootstrap.c
index 34c5d223..3db43e6e 100644
--- a/src/tools/irm/irm_ipcp_bootstrap.c
+++ b/src/tools/irm/irm_ipcp_bootstrap.c
@@ -95,7 +95,7 @@ int do_bootstrap_ipcp(int argc, char ** argv)
char * ipcp_type = NULL;
char * dif_name = NULL;
char * if_name = NULL;
- pid_t * apis;
+ pid_t * apis = NULL;
ssize_t len = 0;
int i = 0;
@@ -194,7 +194,8 @@ int do_bootstrap_ipcp(int argc, char ** argv)
if (irm_bootstrap_ipcp(apis[i], &conf))
return -1;
- free(apis);
+ if (apis != NULL)
+ free(apis);
return 0;
}
diff --git a/src/tools/irm/irm_ipcp_enroll.c b/src/tools/irm/irm_ipcp_enroll.c
index b7a12e2c..3755f199 100644
--- a/src/tools/irm/irm_ipcp_enroll.c
+++ b/src/tools/irm/irm_ipcp_enroll.c
@@ -39,7 +39,7 @@ int do_enroll_ipcp(int argc, char ** argv)
{
char * name = NULL;
char * dif_name = NULL;
- pid_t * apis;
+ pid_t * apis = NULL;
ssize_t len = 0;
int i = 0;
@@ -74,7 +74,8 @@ int do_enroll_ipcp(int argc, char ** argv)
if (irm_enroll_ipcp(apis[i], dif_name))
return -1;
- free(apis);
+ if (apis != NULL)
+ free(apis);
return 0;
}