From: Jürg Billeter Date: Sun, 24 Oct 2010 11:24:01 +0000 (+0200) Subject: Genie: Fix out of bounds access in scanner X-Git-Tag: 0.10.1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c9880c8bce66547e14997dc7650093e5f53d267;p=thirdparty%2Fvala.git Genie: Fix out of bounds access in scanner --- diff --git a/vala/valageniescanner.vala b/vala/valageniescanner.vala index a590dad8e..e1f945a28 100644 --- a/vala/valageniescanner.vala +++ b/vala/valageniescanner.vala @@ -996,7 +996,9 @@ public class Vala.Genie.Scanner { case '}': type = TokenType.CLOSE_BRACE; open_brace_count--; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } current++; break; case '(': @@ -1009,7 +1011,9 @@ public class Vala.Genie.Scanner { type = TokenType.CLOSE_PARENS; open_parens_count--; current++; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } if (in_template ()) { type = TokenType.COMMA; } @@ -1021,7 +1025,9 @@ public class Vala.Genie.Scanner { break; case ']': type = TokenType.CLOSE_BRACKET; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } current++; break; case '.':