parser: fix minor bugs
- use-after-free in cluster resolution - missing parameter propagation in MNSS parameter parsing Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
642e927e21
commit
979a156671
|
@ -271,17 +271,17 @@ cluster : STRING
|
||||||
struct dect_handle_priv *priv;
|
struct dect_handle_priv *priv;
|
||||||
|
|
||||||
priv = dect_handle_get_by_name($1);
|
priv = dect_handle_get_by_name($1);
|
||||||
free($1);
|
|
||||||
|
|
||||||
if (priv == NULL) {
|
if (priv == NULL) {
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "cluster '%s' does not exist\n", $1);
|
snprintf(buf, sizeof(buf), "cluster '%s' does not exist\n", $1);
|
||||||
|
free($1);
|
||||||
yyerror(&@1, scanner, state, buf);
|
yyerror(&@1, scanner, state, buf);
|
||||||
YYABORT;
|
YYABORT;
|
||||||
} else
|
} else {
|
||||||
|
free($1);
|
||||||
$$ = priv->dh;
|
$$ = priv->dh;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -408,6 +408,9 @@ mnss_param_alloc :
|
||||||
;
|
;
|
||||||
|
|
||||||
mnss_params : mnss_param
|
mnss_params : mnss_param
|
||||||
|
{
|
||||||
|
$$ = $<mnss_param>-1;
|
||||||
|
}
|
||||||
| mnss_params ',' mnss_param
|
| mnss_params ',' mnss_param
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
Reference in New Issue