From 624f543ec1c649e8daf33facd9f4def0eff56739 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 17 Oct 2014 12:11:34 -0700 Subject: [PATCH] fix argument allocation. --- src/bitcoindjs.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index fa322995..7f4aef97 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -569,7 +569,8 @@ start_node_thread(void) { // Workaround for AppInit2() arg parsing. Not ideal, but it works. int argc = 0; - char **argv = NULL; + char **argv = (char **)malloc((3 + 1) * sizeof(char **)); + if (g_data_dir) { const int argl = 9 + strlen(g_data_dir) + 1; char *arg = (char *)malloc(argl); @@ -584,18 +585,18 @@ start_node_thread(void) { argv = (char **)malloc((argc + 1) * sizeof(char **)); argv[0] = (char *)"bitcoind"; argv[1] = arg; - if (g_rpc) { - argv[argc] = (char *)"-server"; - argc++; - } - argv[argc] = NULL; } else { argc = 1; - argv = (char **)malloc((argc + 1) * sizeof(char **)); argv[0] = (char *)"bitcoind"; - argv[1] = NULL; } + if (g_rpc) { + argv[argc] = (char *)"-server"; + argc++; + } + + argv[argc] = NULL; + bool fRet = false; try { ParseParameters((const int)argc, (const char **)argv);