-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uninit checker - false positive? #23
Comments
Ah! It looks like you're encountering the fact that Sys skips code in order to find bugs in really big codebases, potentially leading to FPs. In this case, Sys has determined that it's possible, given no context, to end up with an uninit bug off of ind (if neither of the loops execute). True! But the function is never called in such a buggy way...
EDITING TO ADD: one thing we also found very helpful was re-running the tool on debug builds of the browser (builds with assertions). If the bug didn't exist with the assertions turned on, it was likely not a bug they cared about |
Thank you for taking the time to explain it in such detail. It helps to understand the project better. |
IMHO the assumption that the loops could be skipped is valid as but still here is an issue I think - that an assumption was made which results in the identified vulnerability be detected. |
FYI Here seems like another false positive. Got an uninit bug that It seems it is properly assigned value in all conditions (if, else if, else) Relevant code:
Thanks, |
Guessing, right now without looking at IR, that it's related to #1 (I broke something in the insert/extract operations recently). Would it be possible to see the ll file? |
Yes, sure. LL file (with debugs): https://github.com/marcinguy/public/blob/master/sacenc_nlc_enc.o.ll |
Sys output
C Code:
here is the bug:
However tmp in the line above is referenced and assigned good values in for loop.
Any explanation why Sys flagged it? Using static and symbolic execution
Working on a real project and would like to understand Sys better.
Thanks in advance
LL for reference:
The text was updated successfully, but these errors were encountered: