From 979a156671020c1e21bbc714d9fbd5ba2443f7da Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Fri, 3 Dec 2010 01:14:27 +0100 Subject: [PATCH] parser: fix minor bugs - use-after-free in cluster resolution - missing parameter propagation in MNSS parameter parsing Signed-off-by: Patrick McHardy --- src/cmd-parser.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/cmd-parser.y b/src/cmd-parser.y index 5d72e95..081d6cb 100644 --- a/src/cmd-parser.y +++ b/src/cmd-parser.y @@ -271,17 +271,17 @@ cluster : STRING struct dect_handle_priv *priv; priv = dect_handle_get_by_name($1); - free($1); - if (priv == NULL) { char buf[256]; snprintf(buf, sizeof(buf), "cluster '%s' does not exist\n", $1); + free($1); yyerror(&@1, scanner, state, buf); YYABORT; - } else + } else { + free($1); $$ = priv->dh; - + } } ; @@ -408,6 +408,9 @@ mnss_param_alloc : ; mnss_params : mnss_param + { + $$ = $-1; + } | mnss_params ',' mnss_param ;