From c12fa8df76752b0a011430f069677b52e4dad164 Mon Sep 17 00:00:00 2001 From: Ash Hughes Date: Thu, 30 May 2019 21:49:56 +0100 Subject: conntrackd: Use strdup in lexer Use strdup in the config file lexer to copy strings to yylval.string. This should solve the "[ERROR] unknown layer 3 protocol" problem here: https://www.spinics.net/lists/netfilter/msg58628.html. Signed-off-by: Ash Hughes Signed-off-by: Pablo Neira Ayuso --- src/read_config_lex.l | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/read_config_lex.l') diff --git a/src/read_config_lex.l b/src/read_config_lex.l index 120bc00..b0d9e61 100644 --- a/src/read_config_lex.l +++ b/src/read_config_lex.l @@ -142,9 +142,9 @@ notrack [N|n][O|o][T|t][R|r][A|a][C|c][K|k] {is_off} { return T_OFF; } {integer} { yylval.val = atoi(yytext); return T_NUMBER; } {signed_integer} { yylval.val = atoi(yytext); return T_SIGNED_NUMBER; } -{ip4} { yylval.string = yytext; return T_IP; } -{ip6} { yylval.string = yytext; return T_IP; } -{path} { yylval.string = yytext; return T_PATH_VAL; } +{ip4} { yylval.string = strdup(yytext); return T_IP; } +{ip6} { yylval.string = strdup(yytext); return T_IP; } +{path} { yylval.string = strdup(yytext); return T_PATH_VAL; } {alarm} { return T_ALARM; } {persistent} { dlog(LOG_WARNING, "Now `persistent' mode " "is called `alarm'. Please, update " @@ -156,7 +156,7 @@ notrack [N|n][O|o][T|t][R|r][A|a][C|c][K|k] "your conntrackd.conf file.\n"); return T_FTFW; } {notrack} { return T_NOTRACK; } -{string} { yylval.string = yytext; return T_STRING; } +{string} { yylval.string = strdup(yytext); return T_STRING; } {comment} ; {ws} ; -- cgit v1.2.3