summaryrefslogtreecommitdiffstats
path: root/grammar
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-09-14 07:51:28 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2012-09-14 07:51:28 +0200
commit09438518bb483d7bd6451311e3a9bed740b40893 (patch)
treeb825732fdbc344897e19a41f76093f25f63512cf /grammar
parent0af3bd791952040f186bd92147867f2ec0a8896d (diff)
downloadrsyslog-09438518bb483d7bd6451311e3a9bed740b40893.tar.gz
rsyslog-09438518bb483d7bd6451311e3a9bed740b40893.tar.xz
rsyslog-09438518bb483d7bd6451311e3a9bed740b40893.zip
Fix length calculation for script string constants
This could lead to various problems, like if-filters not working. Note this is a regression from yesterdays escape fix, so there exist no released version with this problem.
Diffstat (limited to 'grammar')
-rw-r--r--grammar/lexer.l4
1 files changed, 2 insertions, 2 deletions
diff --git a/grammar/lexer.l b/grammar/lexer.l
index 289d54ff..6ac7fd9a 100644
--- a/grammar/lexer.l
+++ b/grammar/lexer.l
@@ -125,12 +125,12 @@ int fileno(FILE *stream);
<EXPR>\'([^'\\]|\\['"\\$bntr]|\\x[0-9a-f][0-9a-f]|\\[0-7][0-7][0-7])*\' {
yytext[yyleng-1] = '\0';
unescapeStr((uchar*)yytext+1, yyleng-2);
- yylval.estr = es_newStrFromBuf(yytext+1, strlen(yytext));
+ yylval.estr = es_newStrFromBuf(yytext+1, strlen(yytext)-1);
return STRING; }
<EXPR>\"([^"\\$]|\\["'\\$bntr]|\\x[0-9a-f][0-9a-f]|\\[0-7][0-7][0-7])*\" {
yytext[yyleng-1] = '\0';
unescapeStr((uchar*)yytext+1, yyleng-2);
- yylval.estr = es_newStrFromBuf(yytext+1, yyleng-2);
+ yylval.estr = es_newStrFromBuf(yytext+1, strlen(yytext)-1);
return STRING; }
<EXPR>[ \t\n]
<EXPR>[a-z][a-z0-9_]* { yylval.estr = es_newStrFromCStr(yytext, yyleng);