From eed8ceebd10ce14218deff60e4ef8015b1cef84c Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sun, 27 Oct 2013 12:26:10 +0100 Subject: [PATCH] added variables --- lib/ProgramOptions/program-options.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/ProgramOptions/program-options.c b/lib/ProgramOptions/program-options.c index e6c7ee2fe7..dae9a4092a 100644 --- a/lib/ProgramOptions/program-options.c +++ b/lib/ProgramOptions/program-options.c @@ -147,15 +147,18 @@ typedef struct po_visit_functions_s { //////////////////////////////////////////////////////////////////////////////// static char * FillVariables (const char* value) { + TRI_string_buffer_t buffer; + + const char* p; + const char* e; + const char* q; + if (value == NULL) { return NULL; } - TRI_string_buffer_t buffer; - - const char* p = value; - const char* e = p + strlen(value); - const char* q; + p = value; + e = p + strlen(value); TRI_InitSizedStringBuffer(&buffer, TRI_CORE_MEM_ZONE, strlen(value) + 1); @@ -1453,7 +1456,10 @@ bool TRI_ParseArgumentsProgramOptions (TRI_program_options_t * options, t = FillVariables(optarg); item->parse(t, item->_desc); - TRI_FreeString(TRI_CORE_MEM_ZONE, t); + + if (t != NULL) { + TRI_FreeString(TRI_CORE_MEM_ZONE, t); + } } TRI_AnnihilateStringBuffer(&buffer);