Commit Graph

1598 Commits (033928f71627efdc1a46a211e14d99ce49d850ca)

Author SHA1 Message Date
Jeremy Dubreil 96ca6b6f02 [infer][bug hash] take the number of occurences of a report into account 7 years ago
Sam Blackshear ebfe8d1e72 [litho] move reporting of missing required props out of transfer functions 7 years ago
Dulma Churchill f5e89797a8 [backend] Fix consistency of closures after bi-abduction and other executions. 7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files 7 years ago
Sam Blackshear 2c6fb16636 [litho] support optional Prop's 7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker 7 years ago
Jules Villard 66ad5c3018 [driver] persist some global state across infer runs 7 years ago
Jules Villard 337fb9bcdd [al] import files relatively to the current al file 7 years ago
Jules Villard 6d908adf14 [al] use "quotes" for user imports 7 years ago
Mehdi Bouaziz 4ed3be9f00 [inferbo] First models for std::array 7 years ago
Sam Blackshear fb7556816f [quandary] report gflags to shell exec, but not file or url creation 7 years ago
Tony Hu d62b046f52 [infer][genrule] create_genrules in DEFS now only creates Buck rule for "checkers" analyzer 7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals. 7 years ago
Tony Hu 39564905f2 Removed GENERATE_INFER_GENRULES flag 7 years ago
Sam Blackshear f5e7a6e6d7 [quandary] print index(es) of tainted parameters at each call 7 years ago
Jules Villard 3d7878ef25 [make] make sure we always read from the right infer-out/ 7 years ago
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures 7 years ago
Mehdi Bouaziz d71d759344 [inferbo] Fix division by constant 7 years ago
Sam Blackshear 7f62154318 [quandary] separate sanitizers for different kinds of escaping 7 years ago
Jeremy Dubreil b089486b5a [infer][nullable checker] take subtyping into account when detecting pointer assignment 7 years ago
Jeremy Dubreil 73b4409e6f [infer][nullable checker] no longer propagate the nullability when the lhs is not a pointer type 7 years ago
Jeremy Dubreil f50c7b469e [infer][nullable checkers] move the tests for the nullable checker in a dedicated subdirectory 7 years ago
Sam Blackshear a50433f87f [cleanup] remove unused java dependencies 7 years ago
Jules Villard 7032bca1d5 [tests] fix `make clean` 7 years ago
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis 7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes 7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split 7 years ago
Dino Distefano e3e2fb22a1 Change pattern-matching order 7 years ago
Sam Blackshear 82a3b2649e [quandary] only warn on shell/sql injection from stringy gflag sources 7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality 7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods 7 years ago
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis 7 years ago
Sam Blackshear d6ed9e3bbe [liveness] remove special-casing for destructor reads 7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis 7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors 7 years ago
Jeremy Dubreil c62dd2a0c2 [infer][nullable checker] add models for mutations of mutable dictionaries and mutable arrays 7 years ago
Sam Blackshear 41129087e4 [quandary] only Intents created from Uris should be sources 7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink 7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize` 7 years ago
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin 7 years ago
Jeremy Dubreil 83118865aa [infer] add arrayByAddingObject: to the list of methods asserting the parameters 7 years ago
Sam Blackshear d3f4043bc0 [quandary] curl function for setting URL as sink 7 years ago
Jules Villard 1f3cae9fa4 [make] some missing dependencies 7 years ago
Daiva Naudziuniene d8a004f0cc [LockConsistency] Adding conditional ownership to the rest of the formal parameters of constructors. 7 years ago
Sam Blackshear 7e8739de0a [quandary] more fine-grained issue types for Java 7 years ago
Sam Blackshear 647e1cd62d [dead stores] config file for custom scope guard types 7 years ago
Sam Blackshear 432fa4913c [quandary] report all Intents constructed from URIs 7 years ago
Sam Blackshear 6abbe66ee6 [quandary] file creation as sink 7 years ago
Sam Blackshear 19824aa27b [quandary] don't taint this var of endpoints 7 years ago
Peter O'Hearn 700adc2d44 [racerd] deep ownership 7 years ago
Sam Blackshear 735b0b2ef7 [quandary] include source/sink caller in error message 7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods 7 years ago
Sam Blackshear 6799e7a7fb [dead stores] whitelist more RAII guard types 7 years ago
Mehdi Bouaziz 78120bc9e2 Fix tests 7 years ago
Mehdi Bouaziz 1a117d7e09 Fix unique_ptr model 7 years ago
Sam Blackshear 0ebdd369b0 [liveness] don't warn on dead stores of type CKComponentScope 7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore. 7 years ago
Jeremy Dubreil 4aaa39fdd1 [infer][nullable checker] propagate object nullablilty when calling an Objective C instance method on a nullable receiver 7 years ago
Jeremy Dubreil d4c81a7798 [infer][nullable checker] model NSDictionary initialization as crashing on nil keys or nil values 7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module 7 years ago
Dulma Churchill d25754597d [memory leaks] Adding model for CVPixelBufferRelease 7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash 7 years ago
Jeremy Dubreil ea29749671 [infer] simpler bug hash 7 years ago
Jeremy Dubreil 7dd78f4135 [infer][eradicate] example where the non-nullability is not correctly propagated 7 years ago
Jeremy Dubreil 10eef3bb1f [infer][java] add model for ImmutableList$Builder.add which crashes when given a null value 7 years ago
Jeremy Dubreil bff96f1d75 [infer] remove the use of the deprecated --stats option 7 years ago
Dulma Churchill 306a0a9182 [liveness] Do not report on variables with block attribute 7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables 7 years ago
Daiva Naudziuniene 9e2ecac204 [LockConsistency] Add ownership to container accesses for cpp 7 years ago
Sam Blackshear 74670cb0ba [dead stores] don't warn on dead stores of ScopeGuard's 7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run 7 years ago
Sam Blackshear 8d0f141974 [dead stores] identify dead stores involving struct values 7 years ago
Sam Blackshear 427dad5aa6 [racerd] keep adding accesses after prefix of a path is owned 7 years ago
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary 7 years ago
Dino Distefano dfb8b421ac Extending uninit to struct 7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries 7 years ago
Sam Blackshear 164fa457e9 [quandary] treat any non-primitive endpoint formal as a source 7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition 7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps 7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code 7 years ago
Jeremy Dubreil a991b98d02 [infer][nullable checker] also report a null dereference error when adding nil key or value to NSDictionary 7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions 7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC 7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers 7 years ago
Sungkeun Cho 9deec6ffde [inferbo] Fix evaluation of Lindex 7 years ago
Jeremy Dubreil 354b46f8ca [infer][nullable checker] no report for objects created by URLWithString: 7 years ago
Jeremy Dubreil a4428a4cae [infer][nullable checker] report an error when a nullable value is stored into an NSArray without being checked for null 7 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code 7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables 7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL 7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl 7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl 7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++ 7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators 7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted 7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'. 7 years ago
Sam Blackshear 7428f36fbd [quandary] turn off dynamic dispatch handling in Java 7 years ago
Daiva Naudziuniene e07a20ea6d [reporting] Report access path from the initial sink rather than the final sink. 7 years ago
Dulma Churchill b9a56a6c52 [clang] Specialize also c functions with blocks as parameters 7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct 7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks 7 years ago
Jeremy Dubreil 4a1eae048a [infer][clang] fix unitialized value false positive for values not initialized in the throw branch 7 years ago
Dulma Churchill 18782be7c9 [linters] Adding a new predicate for in an ObjC class that is subclass of some class 7 years ago
Dino Distefano 979c476fa3 Do not report when defining an array 7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters 7 years ago
Dominic Cooney c542b65a42 Add a lint rule warning about ObjC custom setters for weak properties 7 years ago
Daiva Naudziuniene ff475e43e4 [LockConsistency] Do not merge read/write with container read/write 7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment 7 years ago
Sam Blackshear 29fe7d1689 [quandary] thrift services as sources + remote code execution risk issue type 7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code 8 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file 8 years ago
Jeremy Dubreil 4283bf2602 [infer][java] re-use the Eradicate models for Preconditions.checkNotNull and the like 8 years ago
Jeremy Dubreil b3f75da37e [infer][nullable checker] only report once when the return of a nullable method is derferenced several times 8 years ago
Sam Blackshear d221a0ae42 [racerd] don't report INTERFACE_NOT_THREAD_SAFE on thread-confined interfaces 8 years ago
Dino Distefano ce711d7e8a [uninit] Reporting parameters calls which are not passed by reference 8 years ago
Jeremy Dubreil 8274453277 [infer][clang] the nullable checker should not warn on Objective C method call when the receiver is nullable 8 years ago
Jeremy Dubreil d85d185402 [infer][java] Enable the @Nullable checker on Java 8 years ago
Jeremy Dubreil 5e1b7faf97 [infer][clang] the nullable checker should not report on methods that have already been checked for null 8 years ago
Sam Blackshear ad522a8b19 [dead stores] don't warn on likely-harmless dead stores to default values 8 years ago
Jeremy Dubreil 0a1971a08d [infer][biabduction] keep the files in the trace even when the exact location of the method is not known 8 years ago
Sam Blackshear 4ee4ebb42a [hil] don't move any accesses across lock acquisition/release 8 years ago
Daiva Naudziuniene ccd2c76344 [LockConsistency] Adding ownership of locals for c-style functions 8 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks 8 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash 8 years ago
Sungkeun Cho 042dd7d9cb [inferbo] revise semantics of vector::data 8 years ago
Sam Blackshear 5e910929be [quandary] handle taint propagation in copying of structs/via derefs of pointers to structs 8 years ago
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock 8 years ago
Josh Berdine 149deb97ed [thread-safety][c++] Model std::unique_lock::owns_lock 8 years ago
Josh Berdine 3bab37b261 [thread-safety][c++] Change to LOCK_CONSISTENCY_VIOLATION issue type 8 years ago
Sam Blackshear 67c45bed78 [quandary] fix invariant 1: "sink(s) with only non-footprint source" violations 8 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments 8 years ago
Jules Villard 38804101d9 [buck] newer Buck passes tests in STRICT_MODE 8 years ago
Dino Distefano a75073907c Fix uninit for temp variables 8 years ago
Sam Blackshear 47ab1a2e67 [thread-safety] skip reporting on truncated traces 8 years ago
Sam Blackshear 5f6d3a0d7f [quandary] new issue type for untrusted variable length array creation 8 years ago
Sam Blackshear 6ea6c74a5c [quandary] add new issue types for sql injection and shell injection 8 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block 8 years ago
Dulma Churchill b95c4e34d6 [dead store objc] Whitelisting macro variables in dead stored checker for Objective-C 8 years ago
Mehdi Bouaziz a2f69050ac [buck] Unify buck command line arguments recognition, buck query invocation, and support target patterns and aliases 8 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section 8 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address 8 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks 8 years ago
Jeremy Dubreil c4949f372e [infer][clang] the nullability checker was not reporting when dereferencing a field of a nullable object 8 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values 8 years ago
Anders Papitto a92ba5a2a9 Eradicate: model get and remove as nullable for stdlib Map variants 8 years ago
Sam Blackshear d2433476a5 [quandary] fix heuristic for recognizing buffer access 8 years ago
Josh Berdine 6f8f7140bb [frontend][tests] Record test form ptr_mem.cpp 8 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store. 8 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions 8 years ago
Jules Villard df0491272c [compilation db] add support for commands with `"arguments" and no `"command"` field 8 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables 8 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused. 8 years ago
Dulma Churchill 3c48a3f38a [objc] Do not fail in the bi-abduction with missing fields in ObjC 8 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis 8 years ago
Jules Villard b1841c6699 [checkers] make all models and tests use checkers 8 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements 8 years ago
Dulma Churchill 1bc62212ba [tests] Fix test broken in master 8 years ago
Dino Distefano f87447ba52 Uninitialized value/variable checker 8 years ago
Sam Blackshear 169df0fe80 [thread-safety] infer accesses that need to be safe from lock usage 8 years ago
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int 8 years ago
Sam Blackshear 3a5a0413bb [thread-safety] remove special treatment for immutable collections 8 years ago
Jules Villard 3790ca5487 [checkers] declare --resource-leak with the other checkers 8 years ago
Jules Villard b95f29c8d1 various minor improvements 8 years ago
Sam Blackshear c2c1679a5f [inferprint] fix template deduplication 8 years ago
Jeremy Dubreil 9282e30d72 [infer][checkers] move the tests for the lab in it own directory 8 years ago
Jeremy Dubreil 03cb052ad9 [infer][checkers] run the Java biabduction tests using the checkers framework 8 years ago
Daiva Naudziuniene 3001cb6323 [threadsafety] Add ownership on stack-allocated variables in cpp 8 years ago
Sam Blackshear b57084902d [thread-safety] better error messages for write-write races that are distinct, but conflicting writes rather than self-races 8 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages 8 years ago
Sam Blackshear 4255d918ad [thread-safety][cleanup] clean up error messages/comments 8 years ago
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro. 8 years ago
Jeremy Dubreil f81aafc9cf Fix ObjC frontend tests 8 years ago
Dino Distefano 86bfe674ff Fix ObjC frontend tests 8 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations 8 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr) 8 years ago
Mehdi Bouaziz 093bf285cc [inferbo] Do not report subsumed issues 8 years ago
Sungkeun Cho 54de59919e [inferbo] Prune vector's size by vector::empty() condition check 8 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes 8 years ago
Kyriakos Nikolaos Gkorogiannis 9e1d96c1f2 [threadsafety] Fix exception thrown by list of actuals and formals not having the same length in some cases (C++?) 8 years ago
Kyriakos Nikolaos Gkorogiannis 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible. 8 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types 8 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types 8 years ago
Sam Blackshear 32583aa876 [thread-safety] Change meaning of @ThreadSafe to "can run in parallel with any thread including itself" 8 years ago
Josh Berdine 96af301910 [thread-safety] More informative printing of access paths 8 years ago
Dulma Churchill ca23ed5f5f [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE when the variable has __block attribute 8 years ago
Dulma Churchill bb3201a8e8 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for variables of type std:vector 8 years ago
Dulma Churchill e5007cf2e0 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for the loop indices 8 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues 8 years ago
Mehdi Bouaziz d5c08ee752 [inferbo] Move proof obligations to their own module and split them 8 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams 8 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication 8 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr 8 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic 8 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters. 8 years ago
Jeremy Dubreil 37bdf46967 [infer][objc] example of HIL translation using Objective C closure 8 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap 8 years ago
Jeremy Dubreil 3c09ae953d [infer][objc] Run the biabduction test using the checkers analyzer 8 years ago
Dulma Churchill 652af47da7 [linters] Add transition to parameters by position in the parameters list 8 years ago
Jeremy Dubreil ba6ef4f5b2 [infer][clang] run the C++ tests using the checkers analyzer 8 years ago
Jeremy Dubreil 5e18a19bfd [infer][test] the ThreadSafety cpp tests should not run in debug mode 8 years ago