From af48de18e7d9bbc625880c9b70aeac801686d228 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 5 Sep 2011 15:25:55 +0200 Subject: [PATCH] C++: fixed potential crash for out of bounds access of token_names. Cause: Q_PRIVATE_PROPERTY didn't have an entry in token_names, so if Token::spell or Token::name was called on a T_Q_GADGET, an out-of-bounds access would occur. Change-Id: I1ec7b91a5d3def5508e21ad4f1863a52cb4ed540 Reviewed-on: http://codereview.qt.nokia.com/4207 Reviewed-by: Christian Kamm --- src/libs/3rdparty/cplusplus/Token.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/cplusplus/Token.cpp b/src/libs/3rdparty/cplusplus/Token.cpp index 38d12f06f5..23d4e41ae2 100644 --- a/src/libs/3rdparty/cplusplus/Token.cpp +++ b/src/libs/3rdparty/cplusplus/Token.cpp @@ -66,7 +66,8 @@ static const char *token_names[] = { // Qt keywords ("SIGNAL"), ("SLOT"), ("Q_SIGNAL"), ("Q_SLOT"), ("signals"), ("slots"), ("Q_FOREACH"), ("Q_D"), ("Q_Q"), - ("Q_INVOKABLE"), ("Q_PROPERTY"), ("Q_INTERFACES"), ("Q_ENUMS"), ("Q_FLAGS"), + ("Q_INVOKABLE"), ("Q_PROPERTY"), ("T_Q_PRIVATE_PROPERTY"), + ("Q_INTERFACES"), ("Q_ENUMS"), ("Q_FLAGS"), ("Q_PRIVATE_SLOT"), ("Q_DECLARE_INTERFACE"), ("Q_OBJECT"), ("Q_GADGET"), }; -- 2.11.0