]> granicus.if.org Git - clang/commitdiff
Fix '+=' accumulation error when parsing numeric amounts in a format string.
authorTed Kremenek <kremenek@apple.com>
Thu, 25 Mar 2010 03:59:09 +0000 (03:59 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 25 Mar 2010 03:59:09 +0000 (03:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99479 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/PrintfFormatString.cpp

index 46acc8a377bf1a9759c20ac34d170c58c7fb056c..c38aae34764c9af6f97cda28bace3909f03661d6 100644 (file)
@@ -75,7 +75,7 @@ static OptionalAmount ParseAmount(const char *&Beg, const char *E) {
     char c = *I;
     if (c >= '0' && c <= '9') {
       hasDigits = true;
-      accumulator += (accumulator * 10) + (c - '0');
+      accumulator = (accumulator * 10) + (c - '0');
       continue;
     }