mirror of
https://github.com/github/codeql.git
synced 2026-05-04 13:15:21 +02:00
Merge pull request #6120 from MathiasVP/not-overflow-is-barrier-in-cwe-190
C++: Recognize any non-overflowing arithmetic expression as a barrier for `cpp/uncontrolled-arithmetic`
This commit is contained in:
@@ -3,12 +3,12 @@
|
||||
|
||||
int rand(void);
|
||||
void trySlice(int start, int end);
|
||||
void add_100(int);
|
||||
|
||||
#define RAND() rand()
|
||||
#define RANDN(n) (rand() % n)
|
||||
#define RAND2() (rand() ^ rand())
|
||||
|
||||
|
||||
#define RAND_MAX 32767
|
||||
|
||||
|
||||
|
||||
@@ -99,4 +99,14 @@ void randomTester() {
|
||||
*ptr_r = RAND();
|
||||
r -= 100; // BAD
|
||||
}
|
||||
|
||||
{
|
||||
int r = rand();
|
||||
r = ((2.0 / (RAND_MAX + 1)) * r - 1.0);
|
||||
add_100(r);
|
||||
}
|
||||
}
|
||||
|
||||
void add_100(int r) {
|
||||
r += 100; // GOOD
|
||||
}
|
||||
Reference in New Issue
Block a user