diff options
author | dimitri staessens <[email protected]> | 2016-08-22 16:41:35 +0200 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2016-08-22 16:41:35 +0200 |
commit | 34123b6bfc39e5bea5f2c599b1eea51d3c82ba06 (patch) | |
tree | c97511258dca33022059718fc1ea666808222e42 /src/tools/irm | |
parent | 82c6b3ed73b01321141488c634c9c1c4d515b04b (diff) | |
download | ouroboros-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.
Diffstat (limited to 'src/tools/irm')
-rw-r--r-- | src/tools/irm/irm_ipcp_bootstrap.c | 5 | ||||
-rw-r--r-- | src/tools/irm/irm_ipcp_enroll.c | 5 |
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; } |