In the command-line parser code, when we encountered an error, we explicitly free'd the value-pairs structure, but did not return. A few lines later, we called vp_cmdline_parse_rekey_finish(), which also tried to free the same structure. Instead, we should only call _rekey_finish() if we didn't NULL out the value pairs structure earlier. Signed-off-by: Gergely Nagy <algernon@balabit.hu> --- lib/value-pairs.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/lib/value-pairs.c b/lib/value-pairs.c index 12cf831..912164f 100644 --- a/lib/value-pairs.c +++ b/lib/value-pairs.c @@ -678,7 +678,8 @@ value_pairs_new_from_cmdline (GlobalConfig *cfg, vp = NULL; } g_option_context_free (ctx); - vp_cmdline_parse_rekey_finish (user_data_args); + if (vp) + vp_cmdline_parse_rekey_finish (user_data_args); return vp; } -- 1.7.9.1