Message241497
Okay, so after looking more closely, this *still* looks like a false positive: `lo0bits` *can* return 32, but only for an input of zero. In the code in question, we're doing `k = lo0bits(&y)`, so the only way we can get a `k` of `32` is if `y = 0`. But the whole thing is inside an "if" block that looks like `if ((y = word1(d))) { ... }` (yep, completely with the extra parentheses and the misleading equality-test-lookalike assignment), so that `if` block won't be executed if `y` is zero.
I edited the code to print out debugging information if `k` is ever 32 at that point, and saw no output. So I don't think that line ever gets executed with `k = 32`. |
|
Date |
User |
Action |
Args |
2015-04-19 08:41:32 | mark.dickinson | set | recipients:
+ mark.dickinson, doko, eric.smith, christian.heimes, serhiy.storchaka |
2015-04-19 08:41:32 | mark.dickinson | set | messageid: <1429432892.67.0.633798670132.issue23999@psf.upfronthosting.co.za> |
2015-04-19 08:41:32 | mark.dickinson | link | issue23999 messages |
2015-04-19 08:41:32 | mark.dickinson | create | |
|