]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Genie: Fix out of bounds access in scanner
authorJürg Billeter <j@bitron.ch>
Sun, 24 Oct 2010 11:24:01 +0000 (13:24 +0200)
committerJürg Billeter <j@bitron.ch>
Tue, 26 Oct 2010 18:08:29 +0000 (20:08 +0200)
vala/valageniescanner.vala

index a590dad8e90c5d052fa4d70abd8c4f018d7c5d18..e1f945a285fecfff8ddf9f1d2dfa6767dafa0213 100644 (file)
@@ -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 '.':