Consider this line:
|
if (qh < maxVal && qh * v[n - 2] <= (rh << shift) + u[j + n - 2]) { |
This is reported as buggy by PREfast:
warning C6385: Reading invalid data from 'v': the readable size is '16' bytes, but '-8' bytes may be read.
I think PREfast may be correct (because v is an unsigned long long[2]) but don't understand this well enough right now to figure out why this might be OK; if it is OK, we should replace v[n - 2] with v[0] since 2 is the only value of n that doesn't trigger underflow here.
Consider this line:
STL/stl/src/multprec.cpp
Line 133 in 5be7d49
This is reported as buggy by PREfast:
I think PREfast may be correct (because
vis anunsigned long long[2]) but don't understand this well enough right now to figure out why this might be OK; if it is OK, we should replacev[n - 2]withv[0]since 2 is the only value ofnthat doesn't trigger underflow here.