From d0c1632b51a5a8b2c5761e7b3bf107b5f5c4f035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 16 Mar 2019 19:41:13 +0100 Subject: [PATCH] Fix CheckBufferOverrun::array_index_12 when compiling with VS --- lib/symboldatabase.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 56328d782..1f56adb4c 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -1301,10 +1301,10 @@ void SymbolDatabase::setArrayDimensionsUsingValueFlow() }; if (bits > 0 && bits < 64) { - if (dimension.tok->valueType()->sign == ValueType::Sign::SIGNED) - dimension.num = 1LL << (bits - 1); - else + if (dimension.tok->valueType()->sign == ValueType::Sign::UNSIGNED) dimension.num = 1LL << bits; + else + dimension.num = 1LL << (bits - 1); } } }