From: Ondrej Zajicek (work) Date: Thu, 18 May 2017 12:51:36 +0000 (+0200) Subject: Fix VPN-RD parsing on 32-bit systems X-Git-Tag: v2.0.0~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e521150b8f6bed678527da1cf96e75026b86fe4f;p=thirdparty%2Fbird.git Fix VPN-RD parsing on 32-bit systems When shift count >= width of type the behavior is undefined. --- diff --git a/conf/cf-lex.l b/conf/cf-lex.l index a0e3c2756..a24f5ad73 100644 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@ -124,7 +124,8 @@ include ^{WHITE}*include{WHITE}*\".*\"{WHITE}*; } {DIGIT}+:{DIGIT}+ { - unsigned long int l, len1 UNUSED, len2; + uint len1 UNUSED, len2; + u64 l; char *e; errno = 0; @@ -155,7 +156,8 @@ include ^{WHITE}*include{WHITE}*\".*\"{WHITE}*; } [02]:{DIGIT}+:{DIGIT}+ { - unsigned long int l, len1, len2; + uint len1, len2; + u64 l; char *e; if (yytext[0] == '0')