From: Jürg Billeter Date: Fri, 13 Nov 2009 21:20:14 +0000 (+0100) Subject: Fix invalid memory access in scanner on unbalanced parentheses X-Git-Tag: 0.7.9~45 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=240ede2918df8c521346fe221cd6937873f67adf;p=thirdparty%2Fvala.git Fix invalid memory access in scanner on unbalanced parentheses Fixes bug 601789. --- diff --git a/vala/valascanner.vala b/vala/valascanner.vala index 109dca03f..9a1d3eabc 100644 --- a/vala/valascanner.vala +++ b/vala/valascanner.vala @@ -624,7 +624,9 @@ public class Vala.Scanner { case '}': type = TokenType.CLOSE_BRACE; current++; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } break; case '(': type = TokenType.OPEN_PARENS; @@ -634,7 +636,9 @@ public class Vala.Scanner { case ')': type = TokenType.CLOSE_PARENS; current++; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } if (in_template ()) { type = TokenType.COMMA; } @@ -647,7 +651,9 @@ public class Vala.Scanner { case ']': type = TokenType.CLOSE_BRACKET; current++; - state_stack.length--; + if (state_stack.length > 0) { + state_stack.length--; + } break; case '.': type = TokenType.DOT;