summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGennadiy Civil <gennadiycivil@users.noreply.github.com>2017-08-07 19:37:15 (GMT)
committerGitHub <noreply@github.com>2017-08-07 19:37:15 (GMT)
commit7890f7215e356f11b65929050b710af4d7b4fb1b (patch)
tree9a9334ffcb6f255f311c9365b59bb52ca8974971
parenteb261b4dce67b7d4cf1b77e8c14b1c4bac260843 (diff)
parentdeb99a9d268b7846cace92386414cd799002f855 (diff)
downloadgoogletest-7890f7215e356f11b65929050b710af4d7b4fb1b.zip
googletest-7890f7215e356f11b65929050b710af4d7b4fb1b.tar.gz
googletest-7890f7215e356f11b65929050b710af4d7b4fb1b.tar.bz2
Merge pull request #1180 from aconverse/master
Use wider types to prevent unsigned overflow diagnostics
-rw-r--r--googletest/src/gtest.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc
index e04a1c6..46d8d21 100644
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -310,7 +310,8 @@ namespace internal {
// than kMaxRange.
UInt32 Random::Generate(UInt32 range) {
// These constants are the same as are used in glibc's rand(3).
- state_ = (1103515245U*state_ + 12345U) % kMaxRange;
+ // Use wider types than necessary to prevent unsigned overflow diagnostics.
+ state_ = static_cast<UInt32>(1103515245ULL*state_ + 12345U) % kMaxRange;
GTEST_CHECK_(range > 0)
<< "Cannot generate a number in the range [0, 0).";