Thanks a lot for reviewing!

Unfortunately we have no ability to share our code before it satisfies some 
quality level...

Could you propose description for "different" package?

You are correct in your assumption about ExternalSym goals. But there are some 
cases where analyzer fails to determine right value for a symbol, i.e two 
alerts from android codebase:
* report-7f4011.html
| File |  external/mesa3d/src/glsl/linker.cpp |
| Location | line 779, column 42 |
| Description | Integer overflow while subtraction. 0 U32b AND 1 U32b |
This alert happens because analyzer have no information about num_shaders and 
while cross_validate_globals proccessing assumes that num_shaders can be 0. But 
actually it's never happened because num_shaders is checked for 0 every time 
before link_intrastage_shaders calling (external/mesa3d/src/glsl/linker.cpp, 
lines 1602 and 1617).

* report-51bc27.html
| File | 
frameworks/av/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp |
| Location | line 66, column 41|
| Description | Integer overflow while addition. 4294967295 U32b AND 1 U32b |
This alert happens because constructor for value(line 64) doesn't inlined 
(because this constructor is defined in another translation unit 
frameworks/​native/​libs/​utils/​String8.cpp) and class member mString is 
assumed to be 0. So, when value.length() is called(line 66) underflow happens 
and (0 - 1) is returned. Further addition 1 results in FP overflow.

We tested IntegerOverflow checker on Android codebase where it produced 236 
alerts. In brief I guess about 70% of alerts are TP.

If you would like to inspect full results of analysis with enabled/disabled 
heuristic please suggest place for uploading(size is about 100mb).

I'll try to change the checker according to your comments and it would be nice 
if you'll find time to review it again!)

{F110916}

{F110918}

http://reviews.llvm.org/D4066



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to