[zlaski/pointer-overflow-check] Expand test case.

This commit is contained in:
Ziemowit Laski
2019-10-29 15:17:30 -07:00
parent 9407ba1a35
commit 9228844604

View File

@@ -11,3 +11,17 @@ bool check_pointer_overflow(P *ptr, P *ptr_end) {
// x64 msvc v19.22 /O2: not deleted
return ptr + 4 >= ptr_end; // GOOD
}
struct Q {
#define Q_SIZE 32
char arr[Q_SIZE];
char *begin() { return &arr[0]; }
char *end() { return &arr[Q_SIZE]; }
};
void foo(int untrusted_int) {
Q q;
if (q.begin() + untrusted_int > q.end() || // GOOD
q.begin() + untrusted_int < q.begin()) // BAD
throw q;
}