From ed409e2b754b839db77c7fc04cceb3eecea2ce6d Mon Sep 17 00:00:00 2001 From: Lev Walkin <vlm@lionet.info> Date: Tue, 26 Sep 2017 18:07:40 -0700 Subject: [PATCH] remove memleaks --- libasn1parser/asn1p_y.c | 3 +++ libasn1parser/asn1p_y.y | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c index 3c91a61e..d62b43aa 100644 --- a/libasn1parser/asn1p_y.c +++ b/libasn1parser/asn1p_y.c @@ -4314,6 +4314,7 @@ yyreduce: { (yyval.a_value) = asn1p_value_fromtype((yyvsp[(2) - (2)].a_expr)); checkmem((yyval.a_value)); + asn1p_expr_free((yyvsp[(2) - (2)].a_expr)); } break; @@ -4322,6 +4323,7 @@ yyreduce: { (yyval.a_value) = asn1p_value_fromtype((yyvsp[(1) - (1)].a_expr)); checkmem((yyval.a_value)); + asn1p_expr_free((yyvsp[(1) - (1)].a_expr)); } break; @@ -4939,6 +4941,7 @@ yyreduce: { (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule); asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_lowercase); + free((yyvsp[(1) - (1)].tv_str)); } break; diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y index 466218a8..b38a5434 100644 --- a/libasn1parser/asn1p_y.y +++ b/libasn1parser/asn1p_y.y @@ -1986,11 +1986,13 @@ ContainedSubtype: TOK_INCLUDES Type { $$ = asn1p_value_fromtype($2); checkmem($$); + asn1p_expr_free($2); } /* Can't put Type here because of conflicts. Simplified subset */ | DefinedUntaggedType { $$ = asn1p_value_fromtype($1); checkmem($$); + asn1p_expr_free($1); } ; @@ -2475,6 +2477,7 @@ IdentifierAsReference: Identifier { $$ = asn1p_ref_new(yylineno, currentModule); asn1p_ref_add_component($$, $1, RLT_lowercase); + free($1); }; IdentifierAsValue: -- 2.26.2