From a2ded1e8eaf92f1a157f979aa388c6f69b432f07 Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@nokia.com>
Date: Fri, 12 Mar 2010 11:31:14 +0100
Subject: [PATCH] Added boundary check.

---
 src/libs/cplusplus/ExpressionUnderCursor.cpp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/libs/cplusplus/ExpressionUnderCursor.cpp b/src/libs/cplusplus/ExpressionUnderCursor.cpp
index d8c7fc55fbf..08c723dc0c2 100644
--- a/src/libs/cplusplus/ExpressionUnderCursor.cpp
+++ b/src/libs/cplusplus/ExpressionUnderCursor.cpp
@@ -147,11 +147,13 @@ int ExpressionUnderCursor::startOfExpression_helper(BackwardsScanner &tk, int in
                     --i;
             }
 
-            int j = i;
-            while (tk[j].is(T_LBRACKET))
-                ++j;
-            if (tk[j].is(T_IDENTIFIER) && tk[j + 1].is(T_IDENTIFIER))
-                return i;
+            if (i >= 0) {
+                int j = i;
+                while (tk[j].is(T_LBRACKET))
+                    ++j;
+                if (tk[j].is(T_IDENTIFIER) && tk[j + 1].is(T_IDENTIFIER))
+                    return i;
+            }
         }
         return index - 1;
     } else if (tk[index - 1].is(T_RPAREN)) {
-- 
GitLab