diff mbox series

[nft] parser_bison: type_identifier string memleak

Message ID 20190405131227.17209-1-pablo@netfilter.org
State Accepted
Delegated to: Pablo Neira
Headers show
Series [nft] parser_bison: type_identifier string memleak | expand

Commit Message

Pablo Neira Ayuso April 5, 2019, 1:12 p.m. UTC
==6297== 24 bytes in 3 blocks are definitely lost in loss record 2 of 13
==6297==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==6297==    by 0x56193B9: strdup (strdup.c:42)
==6297==    by 0x4E758BD: xstrdup (utils.c:75)
==6297==    by 0x4E7F9D3: nft_parse (parser_bison.y:1895)
==6297==    by 0x4E7AAE1: nft_parse_bison_filename (libnftables.c:370)
==6297==    by 0x4E7AAE1: nft_run_cmd_from_filename (libnftables.c:438)
==6297==    by 0x109A33: main (main.c:310)

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 src/parser_bison.y | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/src/parser_bison.y b/src/parser_bison.y
index 50642b4e02f4..343df12a3281 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -1796,11 +1796,11 @@  data_type_atom_expr	:	type_identifier
 				if (dtype == NULL) {
 					erec_queue(error(&@1, "unknown datatype %s", $1),
 						   state->msgs);
-					xfree($1);
 					YYERROR;
 				}
 				$$ = constant_expr_alloc(&@1, dtype, dtype->byteorder,
 							 dtype->size, NULL);
+				xfree($1);
 			}
 			;