Out of bounds read in mersenne-twister.cpp
nyalldawson opened this issue · 4 comments
I've recently run a Coverity scan over a project which includes this library. It's flagged mersenne-twister.cpp line 76 as an out of bounds read for MT. I've double checked and it looks like an error to me, as in the for loop in line 66 i ranges from [0, 226]. Line 74 increments i by one, so the max value of i will be 227. Then, in line 76, MT 227 + 397 is read, which is outside the bounds of MT.
Thanks a bunch! You're probably right. I'll have a look.
On man. 16. feb. 2015 at 10.40 Nyall Dawson notifications@github.com
wrote:
I've recently run a Coverity scan over a project which includes this
library. It's flagged mersenne-twister.cpp line 76 as an out of bounds read
for MT. I've double checked and it looks like an error to me, as in the for
loop in line 66 i ranges from [0, 226]. Line 74 increments i by one, so the
max value of i will be 227. Then, in line 76, MT 227 + 397 is read, which
is outside the bounds of MT.—
Reply to this email directly or view it on GitHub
#1.
I double checked that you are right. I've added a very quick fix for it, but will look more into this.
Fixed in 11446a6
Thanks for reporting this! I've added your name to AUTHORS and README. If you don't want it listed, let me know.
@cslarsen Great - this fix is much appreciated!