Daiva Naudziuniene
336b7182c3
[ThreadSafety] Releasing lock at the end of the procedure if it has a lock_guard field.
...
Reviewed By: sblackshear
Differential Revision: D5255450
fbshipit-source-id: ff43c2a
8 years ago
Dulma Churchill
47f1c6ffac
[linters] Global paths
...
Reviewed By: ddino
Differential Revision: D5228481
fbshipit-source-id: ab8b542
8 years ago
Mehdi Bouaziz
69e0063593
[vector] Define _LIBCPP_VECTOR / _GLIBCXX_VECTOR
...
Reviewed By: akotulski
Differential Revision: D5236932
fbshipit-source-id: 441f0c3
8 years ago
Dulma Churchill
99a0f894b6
[linters] Add option to blacklist the unavailable api check for some files
...
Reviewed By: jberdine
Differential Revision: D5236287
fbshipit-source-id: ef801ee
8 years ago
Sam Blackshear
03703e316c
[thread-safety] understand that Pools.Pool.acquire returns ownership
...
Summary: We had a model for `Pools.SimplePool`, but were missing models for `Pools.Pool`. Since `SimplePool` and `SynchronizedPool` both extend `Pool`, modeling it should cover all of the cases.
Reviewed By: ngorogiannis
Differential Revision: D5236280
fbshipit-source-id: 9bbdb25
8 years ago
Sam Blackshear
5a420f7aee
[quandary] only report code injection via endpoints on strings
...
Reviewed By: oebeling, jeremydubreil
Differential Revision: D5214471
fbshipit-source-id: 9af7341
8 years ago
Kihong Heo
8567afdf55
[inferbo] add instantiation for parameters (call-by-ptr/ref)
...
Reviewed By: mbouaziz
Differential Revision: D5155025
fbshipit-source-id: c0b4161
8 years ago
Daiva Naudziuniene
5938c6331d
[ThreadSafety] Extending lock model with lock_quard.
...
Reviewed By: jberdine
Differential Revision: D5217177
fbshipit-source-id: b7992a0
8 years ago
Dulma Churchill
dfca0cdcf7
[linters] Introduce whitelist and blacklist path, also multiple paths
...
Reviewed By: ddino
Differential Revision: D5209648
fbshipit-source-id: dbb77c2
8 years ago
Jia Chen
938425020d
[infer] Do not treat static locals as stack-allocated in the biabduction analysis
...
Reviewed By: jeremydubreil
Differential Revision: D5214422
fbshipit-source-id: f8adb6d
8 years ago
Sam Blackshear
4fe9110ad3
[quandary] SQL sinks
...
Reviewed By: jeremydubreil
Differential Revision: D5214059
fbshipit-source-id: 101f94e
8 years ago
Kyriakos Nikolaos Gkorogiannis
cfe79cf1ca
[thread-safety] Add SimplePool as container, mild refactoring of container handling.
...
Reviewed By: sblackshear
Differential Revision: D5209926
fbshipit-source-id: e886267
8 years ago
Don Stewart
35ac57c378
Typo in message.
...
Reviewed By: dulmarod
Differential Revision: D5217194
fbshipit-source-id: 1b3a039
8 years ago
Jeremy Dubreil
7dd7b460e0
[infer][java] skip reports on generated methods
...
Summary: Assuming generated methods are starting with `$`
Reviewed By: sblackshear
Differential Revision: D5207626
fbshipit-source-id: c516096
8 years ago
Jeremy Dubreil
c51458f7a8
[infer][ondemand] no longer use deprecated reporting function for the suggest nullable checker
...
Summary:
:
No longer use deprecated reporting function for the suggest nullable checker
Depends on D5205009
Reviewed By: grievejia
Differential Revision: D5205843
fbshipit-source-id: f6dd059
8 years ago
Sam Blackshear
7b8eef52f8
[thread-safety] fix bad read/write race traces
...
Summary:
Read/write race errors should always show one trace for a read and one trace for a write.
We forget to pass the conflicting writes to the reporting function in one case, which prevented us from showing a well-formed trace.
Fixed it by making the `conflicts` parameter non-optional
Reviewed By: jberdine
Differential Revision: D5209332
fbshipit-source-id: 05da01a
8 years ago
Sam Blackshear
08586f3e81
[checkers] logging to summary in printf args checker
...
Reviewed By: jeremydubreil
Differential Revision: D5030247
fbshipit-source-id: 26a280c
8 years ago
Kyriakos Nikolaos Gkorogiannis
bee8e21633
[thread-safety] Add model and tests for SimpleArrayMap container.
...
Reviewed By: sblackshear
Differential Revision: D5208601
fbshipit-source-id: bbb78f1
8 years ago
Dulma Churchill
57dd45dd82
[linters] Improve the error message in implicit cast error
...
Reviewed By: jvillard
Differential Revision: D5202360
fbshipit-source-id: 78611f1
8 years ago
Sam Blackshear
0714b93b14
[quandary] use sink index info when expanding traces
...
Reviewed By: jvillard
Differential Revision: D5190988
fbshipit-source-id: f0dc17b
8 years ago
Daiva Naudziuniene
093a00af9b
[ThreadSafety] Do not report for c++ classes that do not have mutex member.
...
Reviewed By: jberdine
Differential Revision: D5182255
fbshipit-source-id: f954337
8 years ago
Dino Distefano
55da0055c9
Predicate for `using namespace`
...
Reviewed By: dulmarod
Differential Revision: D5172430
fbshipit-source-id: 0cd9251
8 years ago
Jeremy Dubreil
8917536944
[eradicate] model System.getenv as @Nullable
...
Reviewed By: cristianoc
Differential Revision: D5198439
fbshipit-source-id: b2957d6
8 years ago
Jia Chen
bbed46de47
[infer][java] Suggest @Nullable on fields that are compared to null
...
Reviewed By: sblackshear
Differential Revision: D5189028
fbshipit-source-id: 708423b
8 years ago
Sam Blackshear
3135560283
[quandary] move trace expansion logic into Quandary
...
Reviewed By: jvillard
Differential Revision: D5186064
fbshipit-source-id: a736e3b
8 years ago
Sam Blackshear
2089cd8a34
[thread-safety] container models for SparseArray/SparseArrayCompat
...
Reviewed By: ngorogiannis
Differential Revision: D5176946
fbshipit-source-id: 55a9ce3
8 years ago
Sam Blackshear
aa50d90a7d
[quandary] get rid of report_reachable bool in taint specifications
...
Summary: We were almost always using `~report_reachable:true`, and in the cases where we weren't it is fine to do so. In general, a sink could read any state from its parameters, so it makes sense to complain if anything reachable from them is tainted.
Reviewed By: mbouaziz
Differential Revision: D5169067
fbshipit-source-id: ea7d659
8 years ago
Mehdi Bouaziz
ec7b096ff6
[inferbo] Add warnings and errors for unreachable code
...
Summary:
Warnings for conditions always true/false
Errors for other unreachable statements (should help debugging inferbo)
Reviewed By: sblackshear
Differential Revision: D5047883
fbshipit-source-id: 65a78ca
8 years ago
Kyriakos Nikolaos Gkorogiannis
7be1bfa89f
[threadsafety] Fix some FPs added by may-alias analysis.
...
Reviewed By: sblackshear
Differential Revision: D5172635
fbshipit-source-id: 67ed695
8 years ago
Jia Chen
c0e20e0880
Propagate C++ noexcept annotation from frontend to backend
...
Reviewed By: jeremydubreil
Differential Revision: D5167568
fbshipit-source-id: b562d5e
8 years ago
Dulma Churchill
03bdf0fe2c
[linters] Cast from pointer to integer
...
Reviewed By: jvillard
Differential Revision: D5157470
fbshipit-source-id: 5385b5a
8 years ago
Daiva Naudziuniene
f4b9bb3e3b
[ThreadSafety] Do not report unprotected writes for c++.
...
Reviewed By: jberdine
Differential Revision: D5172030
fbshipit-source-id: 945acba
8 years ago
Jia Chen
6fc287656f
Transitively track null assignment in NullabliltySuggest
...
Reviewed By: jeremydubreil, sblackshear
Differential Revision: D5158809
fbshipit-source-id: 485c58d
8 years ago
Martino Luca
2e8e5733f6
[AL] Load AL files from a directory
...
Reviewed By: dulmarod
Differential Revision: D5155036
fbshipit-source-id: 35ac690
8 years ago
Mehdi Bouaziz
70c4aec26e
[inferbo] Fix vector model
...
Reviewed By: akotulski
Differential Revision: D5155117
fbshipit-source-id: b05c26b
8 years ago
Dino Distefano
0809279b3b
Extending type parser to deal with typedefs
...
Reviewed By: dulmarod
Differential Revision: D5155322
fbshipit-source-id: 9af8d8b
8 years ago
Sam Blackshear
4ef487928c
[quandary] make passthroughs optional
...
Reviewed By: mbouaziz
Differential Revision: D5155878
fbshipit-source-id: dedbebe
8 years ago
Sam Blackshear
38d3946c71
[quandary] support for basic return value sanitizers
...
Summary:
For now, we just support clearing the taint on a return value.
Ideally, we would associate a kind with the sanitizer and only clear taint that matches that kind.
However, it's fairly complicated to make that work properly with footprint sources.
I have some ideas about how to do it with passthroughs instead, but let's just do the simple thing for now.
Reviewed By: jeremydubreil
Differential Revision: D5141906
fbshipit-source-id: a5b8b5e
8 years ago
Dulma Churchill
46a539df82
[linters] Specify path in linters
...
Reviewed By: jvillard
Differential Revision: D5146904
fbshipit-source-id: 62b9d78
8 years ago
Kihong Heo
485814a75a
[Inferbo] remove redundant alarm message
...
Summary:
This diff removes redundant alarm message of intra-procedural
alarms from Inferbo.
Reviewed By: mbouaziz
Differential Revision: D5154319
fbshipit-source-id: bc1c827
8 years ago
Mehdi Bouaziz
f521e5fbc0
[inferbo] Models for exit, fgetc
...
Summary:
- model `exit` as `Bottom`
- model `fgetc` as returning `[-1; 255]` rather than `[-1; +oo]`
- reduced the number of model functions for simple models
Reviewed By: KihongHeo
Differential Revision: D5137485
fbshipit-source-id: 943eeeb
8 years ago
Mehdi Bouaziz
c9803a6481
False negative tests for std::timed_mutex
...
Reviewed By: akotulski
Differential Revision: D5154569
fbshipit-source-id: c142261
8 years ago
Mehdi Bouaziz
b2e03b1734
[inferbo] New test for call by ptr/ref
...
Reviewed By: jvillard
Differential Revision: D5139433
fbshipit-source-id: 11713d4
8 years ago
Josh Berdine
bf504c5b70
Minimal thread safety analysis for C++
...
Summary:
This is a minimal change to (poorly) recognize and model std::mutex
lock and unlock methods, and to surface all thread safety issues for
C++ based on the computed summaries with no filtering.
This ignores much of the Java analysis, including everything about the
Threads domain. The S/N is comically low at this point.
Reviewed By: sblackshear
Differential Revision: D5120485
fbshipit-source-id: 0f08caa
8 years ago
Jia Chen
07c6fbef81
Added an initial implementation of a checker that suggest the use of @Nullable
...
Reviewed By: jeremydubreil
Differential Revision: D5144831
fbshipit-source-id: edc9cf4
8 years ago
Peter O'Hearn
34ae89cf35
[threadsafety] Model more xThreadUtil methods
...
Reviewed By: sblackshear
Differential Revision: D5137061
fbshipit-source-id: ffd030c
8 years ago
Kihong Heo
de32a6728e
[inferbo] remove bottoms in pointer arithmetic
...
Summary:
This diff fixes unintentional bottoms in pointer arithmetic of inferbo.
The pointer arithmetic on addresses of variables (not array) just returns
the operand.
Reviewed By: jvillard
Differential Revision: D5060424
fbshipit-source-id: 495d8b8
8 years ago
Kyriakos Nikolaos Gkorogiannis
750cc65092
[threadsafety] fix false negative on locations that may alias.
...
Reviewed By: sblackshear
Differential Revision: D5137332
fbshipit-source-id: 87e009c
8 years ago
Peter O'Hearn
0c8222cb2f
[threadsafety] Model isMainThread()
...
Reviewed By: sblackshear
Differential Revision: D5129265
fbshipit-source-id: 14a37b1
8 years ago
Dulma Churchill
f5d3870485
[linters] Adding a new error type like
...
Reviewed By: martinoluca
Differential Revision: D5111078
fbshipit-source-id: 06e14b8
8 years ago