Commit Graph

437 Commits (6076e22f1894b3a17764d4b68bf51dbaa76ddd38)

Author SHA1 Message Date
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol 7 years ago
Brandon Kieft 275f4c3a8c Add predicates to check for protocols 7 years ago
Brandon Kieft 439839a9fa Add is_in_(interface/implementation) predicates 7 years ago
Brandon Kieft 7d4bd403df Add is_objc_method_exposed predicate 7 years ago
Brandon Kieft 01ee635902 Add is_objc_method_overriding predicate 7 years ago
Brandon Kieft d7cf002461 Add new ObjC predicates, mostly related to categories 7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory 7 years ago
Dulma Churchill 077d9a534b [objc frontend] Do not assume that the fast enumeration in ObjC always includes a declaration of the loop variable 7 years ago
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes 7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context 7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs 7 years ago
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments 7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node) 7 years ago
Dulma Churchill aa578ea586 [retain cycles] Treat missing fields also angelically when it still happens in rare cases 7 years ago
Dulma Churchill 74e16bdb58 [retain cycles] Define custom compare function that is more suited to dedup cycles 7 years ago
Dulma Churchill 436e5340f3 [retain cycles] Move the retain cycle check to sym_exec_wrapper to get the path of the last instruction executed 7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace 7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives 7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages 7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s 7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call 7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables 7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output 7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly 7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol 7 years ago
Dulma Churchill 9f343853ec [clang] Find fields from the properties corresponding to the property implementations. 7 years ago
Jérémie Marguerie 8cfc7f2cad Add function to retrieve the lifetime of an ivar pointer and check if it is strong 7 years ago
Dulma Churchill 702f8098e7 [retain cycles] Find all the cycles available instead of only one per root analysed 7 years ago
Dulma Churchill aae319376d [retain cycles] Fix renaming of closures, finds more retain cycles 7 years ago
Jeremy Dubreil 89ec1effde [infer][nullable checker] lookup the attributes in the CFG 7 years ago
Dulma Churchill 4218142a84 [retain cycles] Implement dotty files for retain cycles new 7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind 7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak 7 years ago
Jeremy Dubreil 2228f7448d [infer][nullable checker] add tests for the early return 7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks 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
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
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
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
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods 7 years ago
Jeremy Dubreil c62dd2a0c2 [infer][nullable checker] add models for mutations of mutable dictionaries and mutable arrays 7 years ago
Jeremy Dubreil 83118865aa [infer] add arrayByAddingObject: to the list of methods asserting the parameters 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
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
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries 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 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
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
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables 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
Dino Distefano aa54b1b035 Extending uninit analysis to struct 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
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment 7 years ago
Jeremy Dubreil 8274453277 [infer][clang] the nullable checker should not warn on Objective C method call when the receiver is nullable 7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks 7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash 7 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments 7 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block 7 years ago
Dulma Churchill b95c4e34d6 [dead store objc] Whitelisting macro variables in dead stored checker for Objective-C 7 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks 7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values 7 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store. 7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables 7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused. 7 years ago
Jules Villard b95f29c8d1 various minor improvements 7 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages 7 years ago
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro. 7 years ago
Jeremy Dubreil f81aafc9cf Fix ObjC frontend tests 7 years ago
Dino Distefano 86bfe674ff Fix ObjC frontend tests 8 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations 8 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes 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
Jeremy Dubreil 37bdf46967 [infer][objc] example of HIL translation using Objective C closure 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 14d01620d2 [infer][objc] example of nullable annotation suggestion on Objective C 8 years ago
Dulma Churchill 234d3627b6 [clang] Support the new @available expression in ObjC in the unavailable API check 8 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default 8 years ago
Dino Distefano f3b158a158 Fix use of SEL in AL 8 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes 8 years ago
Dulma Churchill d8765d1d44 [linters] Include only base name of ObjC methods in the linters bug hash 8 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters 8 years ago
Dulma Churchill 7e3298711c [AL] Compute a witness child node when computing formulas to be used for more precise bug hashing 8 years ago
Dulma Churchill d5be23f1b6 [backend] Do not add return annotations to parameters of functions that are skipped 8 years ago
Jeremy Dubreil a03f765d8f [infer][biabduction] no longer drop the atoms that are referring to footprint variables 8 years ago
Daiva Naudziuniene 19d1b25919 Adding changes to objc issues to fix tests. 8 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum 8 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0 8 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path 8 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context 8 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on 8 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL 8 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans 8 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored 8 years ago
Dulma Churchill 00c1b354e1 [linters] Improve to_string method for boxed values 8 years ago
Dulma Churchill d0858c7770 [linters] Improve the to_string method for string constants 8 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info 8 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going 8 years ago
Jeremy Dubreil ff30afac8b [infer][al] fix the linters test output 8 years ago
Dino Distefano a386ef5e83 Adding predicate for identify a selector with a particular name 8 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis 8 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString. 8 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase 8 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants 8 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside 8 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c 8 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk 8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs 8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions 8 years ago
Jia Chen 89de9504bb Fixed a (supposed) typo in objc test 8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode 8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols 8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online. 8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list. 8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions 8 years ago
Dulma Churchill 47f1c6ffac [linters] Global paths 8 years ago
Dulma Churchill 99a0f894b6 [linters] Add option to blacklist the unavailable api check for some files 8 years ago
Dulma Churchill dfca0cdcf7 [linters] Introduce whitelist and blacklist path, also multiple paths 8 years ago
Don Stewart 35ac57c378 Typo in message. 8 years ago
Dulma Churchill 57dd45dd82 [linters] Improve the error message in implicit cast error 8 years ago
Dino Distefano 55da0055c9 Predicate for `using namespace` 8 years ago
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer 8 years ago
Martino Luca 2e8e5733f6 [AL] Load AL files from a directory 8 years ago
Dino Distefano 0809279b3b Extending type parser to deal with typedefs 8 years ago
Dulma Churchill 46a539df82 [linters] Specify path in linters 8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like 8 years ago
Dino Distefano 4e7c7f30c1 Extended transitions to universal quantified operators 8 years ago
Dino Distefano e77ca182a5 Added a lint for namespace 8 years ago
Dino Distefano bdd2395be6 Adding ability to get type of paramters. 8 years ago
Dino Distefano cfd0a9b038 Extending type parser to parse ObjC classes. 8 years ago