Line data Source code
1 :
2 : #ifdef GET_GROUPS
3 : #endif // GET_GROUPS
4 :
5 :
6 : #ifdef GET_PACKAGES
7 : PACKAGE("alpha", -1, false)
8 : PACKAGE("alpha.clone", -1, true)
9 : PACKAGE("alpha.core", -1, true)
10 : PACKAGE("alpha.cplusplus", -1, true)
11 : PACKAGE("alpha.deadcode", -1, true)
12 : PACKAGE("alpha.osx", -1, true)
13 : PACKAGE("alpha.osx.cocoa", -1, true)
14 : PACKAGE("alpha.osx.cocoa.localizability", -1, true)
15 : PACKAGE("alpha.security", -1, true)
16 : PACKAGE("alpha.security.taint", -1, true)
17 : PACKAGE("alpha.unix", -1, true)
18 : PACKAGE("alpha.unix.cstring", -1, true)
19 : PACKAGE("apiModeling", -1, true)
20 : PACKAGE("apiModeling.google", -1, true)
21 : PACKAGE("core", -1, false)
22 : PACKAGE("core.builtin", -1, false)
23 : PACKAGE("core.uninitialized", -1, false)
24 : PACKAGE("cplusplus", -1, false)
25 : PACKAGE("deadcode", -1, false)
26 : PACKAGE("debug", -1, false)
27 : PACKAGE("llvm", -1, false)
28 : PACKAGE("nullability", -1, false)
29 : PACKAGE("optin", -1, false)
30 : PACKAGE("optin.cplusplus", -1, false)
31 : PACKAGE("optin.mpi", -1, false)
32 : PACKAGE("optin.osx", -1, false)
33 : PACKAGE("optin.osx.cocoa", -1, false)
34 : PACKAGE("optin.osx.cocoa.localizability", -1, false)
35 : PACKAGE("optin.performance", -1, false)
36 : PACKAGE("optin.portability", -1, false)
37 : PACKAGE("osx", -1, false)
38 : PACKAGE("osx.cocoa", -1, false)
39 : PACKAGE("osx.coreFoundation", -1, false)
40 : PACKAGE("osx.coreFoundation.containers", -1, false)
41 : PACKAGE("security", -1, false)
42 : PACKAGE("security.insecureAPI", -1, false)
43 : PACKAGE("unix", -1, false)
44 : PACKAGE("unix.cstring", -1, true)
45 : PACKAGE("valist", -1, false)
46 : #endif // GET_PACKAGES
47 :
48 :
49 : #ifdef GET_CHECKERS
50 780 : CHECKER("debug.AnalysisOrder", AnalysisOrderChecker, AnalysisOrder.cpp, "Print callbacks that are called during analysis in order", -1, false)
51 780 : CHECKER("debug.Stats", AnalyzerStatsChecker, AnalyzerStatsChecker.cpp, "Emit warnings with analyzer statistics", -1, false)
52 780 : CHECKER("alpha.security.ArrayBound", ArrayBoundChecker, ArrayBoundChecker.cpp, "Warn about buffer overflows (older checker)", -1, true)
53 780 : CHECKER("alpha.security.ArrayBoundV2", ArrayBoundCheckerV2, ArrayBoundCheckerV2.cpp, "Warn about buffer overflows (newer checker)", -1, true)
54 780 : CHECKER("osx.cocoa.AutoreleaseWrite", AutoreleaseWriteChecker, ObjCAutoreleaseWriteChecker.cpp, "Warn about potentially crashing writes to autoreleasing objects from different autoreleasing pools in Objective-C", -1, false)
55 780 : CHECKER("alpha.unix.BlockInCriticalSection", BlockInCriticalSectionChecker, BlockInCriticalSectionChecker.cpp, "Check for calls to blocking functions inside a critical section", -1, true)
56 780 : CHECKER("alpha.core.BoolAssignment", BoolAssignmentChecker, BoolAssignmentChecker.cpp, "Warn about assigning non-{0,1} values to Boolean variables", -1, true)
57 780 : CHECKER("core.builtin.BuiltinFunctions", BuiltinFunctionChecker, BuiltinFunctionChecker.cpp, "Evaluate compiler builtin functions (e.g., alloca())", -1, false)
58 780 : CHECKER("osx.coreFoundation.CFError", CFErrorChecker, NSErrorChecker.cpp, "Check usage of CFErrorRef* parameters", -1, false)
59 780 : CHECKER("debug.DumpCFG", CFGDumper, DebugCheckers.cpp, "Display Control-Flow Graphs", -1, false)
60 780 : CHECKER("debug.ViewCFG", CFGViewer, DebugCheckers.cpp, "View Control-Flow Graphs using GraphViz", -1, false)
61 780 : CHECKER("osx.coreFoundation.CFNumber", CFNumberChecker, BasicObjCFoundationChecks.cpp, "Check for proper uses of CFNumber APIs", -1, false)
62 780 : CHECKER("osx.coreFoundation.CFRetainRelease", CFRetainReleaseChecker, BasicObjCFoundationChecks.cpp, "Check for null arguments to CFRetain/CFRelease/CFMakeCollectable", -1, false)
63 780 : CHECKER("alpha.unix.cstring.BufferOverlap", CStringBufferOverlap, CStringChecker.cpp, "Checks for overlap in two buffer arguments", -1, true)
64 780 : CHECKER("alpha.unix.cstring.NotNullTerminated", CStringNotNullTerm, CStringChecker.cpp, "Check for arguments which are not null-terminating strings", -1, true)
65 780 : CHECKER("unix.cstring.NullArg", CStringNullArg, CStringChecker.cpp, "Check for null pointers being passed as arguments to C string functions", -1, true)
66 780 : CHECKER("alpha.unix.cstring.OutOfBounds", CStringOutOfBounds, CStringChecker.cpp, "Check for out-of-bounds access in string functions", -1, true)
67 780 : CHECKER("unix.cstring.BadSizeArg", CStringSyntaxChecker, CStringSyntaxChecker.cpp, "Check the size argument passed into C string functions for common erroneous patterns", -1, true)
68 780 : CHECKER("cplusplus.SelfAssignment", CXXSelfAssignmentChecker, CXXSelfAssignmentChecker.cpp, "Checks C++ copy and move assignment operators for self assignment", -1, false)
69 780 : CHECKER("core.CallAndMessage", CallAndMessageChecker, CallAndMessageChecker.cpp, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)", -1, false)
70 780 : CHECKER("alpha.core.CallAndMessageUnInitRefArg", CallAndMessageUnInitRefArg, CallAndMessageChecker.cpp, "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers, and pointer to undefined variables)", -1, true)
71 780 : CHECKER("debug.DumpCalls", CallDumper, TraversalChecker.cpp, "Print calls as they are traversed by the engine", -1, false)
72 780 : CHECKER("debug.DumpCallGraph", CallGraphDumper, DebugCheckers.cpp, "Display Call Graph", -1, false)
73 780 : CHECKER("debug.ViewCallGraph", CallGraphViewer, DebugCheckers.cpp, "View Call Graph using GraphViz", -1, false)
74 780 : CHECKER("alpha.core.CastSize", CastSizeChecker, CastSizeChecker.cpp, "Check when casting a malloc'ed type T, whether the size is a multiple of the size of T", -1, true)
75 780 : CHECKER("alpha.core.CastToStruct", CastToStructChecker, CastToStructChecker.cpp, "Check for cast from non-struct pointer to struct pointer", -1, true)
76 780 : CHECKER("alpha.unix.Chroot", ChrootChecker, ChrootChecker.cpp, "Check improper use of chroot", -1, true)
77 780 : CHECKER("osx.cocoa.ClassRelease", ClassReleaseChecker, BasicObjCFoundationChecks.cpp, "Check for sending 'retain', 'release', or 'autorelease' directly to a Class", -1, false)
78 780 : CHECKER("alpha.clone.CloneChecker", CloneChecker, CloneChecker.cpp, "Reports similar pieces of code.", -1, true)
79 780 : CHECKER("debug.ConfigDumper", ConfigDumper, DebugCheckers.cpp, "Dump config table", -1, false)
80 780 : CHECKER("alpha.core.Conversion", ConversionChecker, ConversionChecker.cpp, "Loss of sign/precision in implicit conversions", -1, true)
81 780 : CHECKER("valist.CopyToSelf", CopyToSelfChecker, ValistChecker.cpp, "Check for va_lists which are copied onto itself.", -1, false)
82 780 : CHECKER("deadcode.DeadStores", DeadStoresChecker, DeadStoresChecker.cpp, "Check for values stored to variables that are never read afterwards", -1, false)
83 780 : CHECKER("alpha.cplusplus.DeleteWithNonVirtualDtor", DeleteWithNonVirtualDtorChecker, DeleteWithNonVirtualDtorChecker.cpp, "Reports destructions of polymorphic objects with a non-virtual destructor in their base class", -1, true)
84 780 : CHECKER("core.NullDereference", DereferenceChecker, DereferenceChecker.cpp, "Check for dereferences of null pointers", -1, false)
85 780 : CHECKER("alpha.osx.cocoa.DirectIvarAssignment", DirectIvarAssignment, DirectIvarAssignment.cpp, "Check for direct assignments to instance variables", -1, true)
86 1560 : CHECKER("alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", DirectIvarAssignmentForAnnotatedFunctions, DirectIvarAssignment.cpp, "Check for direct assignments to instance variables in the methods annotated with objc_no_direct_instance_variable_assignment", -1, true)
87 780 : CHECKER("core.DivideZero", DivZeroChecker, DivZeroChecker.cpp, "Check for division by zero", -1, false)
88 780 : CHECKER("debug.DumpDominators", DominatorsTreeDumper, DebugCheckers.cpp, "Print the dominance tree for a given CFG", -1, false)
89 780 : CHECKER("alpha.core.DynamicTypeChecker", DynamicTypeChecker, DynamicTypeChecker.cpp, "Check for cases where the dynamic and the static type of an object are unrelated.", -1, true)
90 780 : CHECKER("core.DynamicTypePropagation", DynamicTypePropagation, DynamicTypePropagation.cpp, "Generate dynamic type information", -1, false)
91 780 : CHECKER("optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", EmptyLocalizationContextChecker, LocalizationChecker.cpp, "Check that NSLocalizedString macros include a comment for context", -1, false)
92 780 : CHECKER("debug.ViewExplodedGraph", ExplodedGraphViewer, DebugCheckers.cpp, "View Exploded Graphs using GraphViz", -1, false)
93 780 : CHECKER("debug.ExprInspection", ExprInspectionChecker, ExprInspectionChecker.cpp, "Check the analyzer's understanding of expressions", -1, false)
94 780 : CHECKER("alpha.core.FixedAddr", FixedAddressChecker, FixedAddressChecker.cpp, "Check for assignment of a fixed address to a pointer", -1, true)
95 780 : CHECKER("security.FloatLoopCounter", FloatLoopCounter, CheckSecuritySyntaxOnly.cpp, "Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)", -1, false)
96 780 : CHECKER("optin.performance.GCDAntipattern", GCDAntipattern, GCDAntipatternChecker.cpp, "Check for performance anti-patterns when using Grand Central Dispatch", -1, false)
97 780 : CHECKER("apiModeling.google.GTest", GTestChecker, GTestChecker.cpp, "Model gtest assertion APIs", -1, true)
98 780 : CHECKER("alpha.security.taint.TaintPropagation", GenericTaintChecker, GenericTaintChecker.cpp, "Generate taint information used by other checkers", -1, true)
99 780 : CHECKER("alpha.core.IdenticalExpr", IdenticalExprChecker, IdenticalExprChecker.cpp, "Warn about unintended use of identical expressions in operators", -1, true)
100 780 : CHECKER("cplusplus.InnerPointer", InnerPointerChecker, InnerPointerChecker.cpp, "Check for inner pointers of C++ containers used after re/deallocation", -1, false)
101 780 : CHECKER("alpha.osx.cocoa.InstanceVariableInvalidation", InstanceVariableInvalidation, IvarInvalidationChecker.cpp, "Check that the invalidatable instance variables are invalidated in the methods annotated with objc_instance_variable_invalidator", -1, true)
102 780 : CHECKER("alpha.cplusplus.InvalidatedIterator", InvalidatedIteratorChecker, IteratorChecker.cpp, "Check for use of invalidated iterators", -1, true)
103 780 : CHECKER("alpha.cplusplus.IteratorRange", IteratorRangeChecker, IteratorChecker.cpp, "Check for iterators used outside their valid ranges", -1, true)
104 780 : CHECKER("llvm.Conventions", LLVMConventionsChecker, LLVMConventionsChecker.cpp, "Check code for LLVM codebase conventions", -1, false)
105 780 : CHECKER("debug.DumpLiveVars", LiveVariablesDumper, DebugCheckers.cpp, "Print results of live variable analysis", -1, false)
106 780 : CHECKER("optin.mpi.MPI-Checker", MPIChecker, MPIChecker.cpp, "Checks MPI code", -1, false)
107 780 : CHECKER("osx.SecKeychainAPI", MacOSKeychainAPIChecker, MacOSKeychainAPIChecker.cpp, "Check for proper uses of Secure Keychain APIs", -1, false)
108 780 : CHECKER("osx.API", MacOSXAPIChecker, MacOSXAPIChecker.cpp, "Check for proper uses of various Apple APIs", -1, false)
109 780 : CHECKER("unix.Malloc", MallocChecker, MallocChecker.cpp, "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free().", -1, false)
110 780 : CHECKER("alpha.security.MallocOverflow", MallocOverflowSecurityChecker, MallocOverflowSecurityChecker.cpp, "Check for overflows in the arguments to malloc()", -1, true)
111 780 : CHECKER("unix.MallocSizeof", MallocSizeofChecker, MallocSizeofChecker.cpp, "Check for dubious malloc arguments involving sizeof", -1, false)
112 780 : CHECKER("unix.MismatchedDeallocator", MismatchedDeallocatorChecker, MallocChecker.cpp, "Check for mismatched deallocators.", -1, false)
113 780 : CHECKER("alpha.cplusplus.MismatchedIterator", MismatchedIteratorChecker, IteratorChecker.cpp, "Check for use of iterators of different containers where iterators of the same container are expected", -1, true)
114 780 : CHECKER("alpha.osx.cocoa.MissingInvalidationMethod", MissingInvalidationMethod, IvarInvalidationChecker.cpp, "Check that the invalidation methods are present in classes that contain invalidatable instance variables", -1, true)
115 780 : CHECKER("alpha.cplusplus.MisusedMovedObject", MisusedMovedObjectChecker, MisusedMovedObjectChecker.cpp, "Method calls on a moved-from object and copying a moved-from object will be reported", -1, true)
116 780 : CHECKER("alpha.security.MmapWriteExec", MmapWriteExecChecker, MmapWriteExecChecker.cpp, "Warn on mmap() calls that are both writable and executable", -1, true)
117 780 : CHECKER("osx.cocoa.NSAutoreleasePool", NSAutoreleasePoolChecker, NSAutoreleasePoolChecker.cpp, "Warn for suboptimal uses of NSAutoreleasePool in Objective-C GC mode", -1, false)
118 780 : CHECKER("osx.cocoa.NSError", NSErrorChecker, NSErrorChecker.cpp, "Check usage of NSError** parameters", -1, false)
119 780 : CHECKER("cplusplus.NewDelete", NewDeleteChecker, MallocChecker.cpp, "Check for double-free and use-after-free problems. Traces memory managed by new/delete.", -1, false)
120 780 : CHECKER("cplusplus.NewDeleteLeaks", NewDeleteLeaksChecker, MallocChecker.cpp, "Check for memory leaks. Traces memory managed by new/delete.", -1, false)
121 780 : CHECKER("osx.cocoa.NilArg", NilArgChecker, BasicObjCFoundationChecks.cpp, "Check for prohibited nil arguments to ObjC method calls", -1, false)
122 780 : CHECKER("core.builtin.NoReturnFunctions", NoReturnFunctionChecker, NoReturnFunctionChecker.cpp, "Evaluate \"panic\" functions that are known to not return to the caller", -1, false)
123 780 : CHECKER("optin.osx.cocoa.localizability.NonLocalizedStringChecker", NonLocalizedStringChecker, LocalizationChecker.cpp, "Warns about uses of non-localized NSStrings passed to UI methods expecting localized NSStrings", -1, false)
124 780 : CHECKER("core.NonNullParamChecker", NonNullParamChecker, NonNullParamChecker.cpp, "Check for null pointers passed as arguments to a function whose arguments are references or marked with the 'nonnull' attribute", -1, false)
125 780 : CHECKER("core.NonnilStringConstants", NonnullGlobalConstantsChecker, NonilStringConstantsChecker.cpp, "Assume that const string-like globals are non-null", -1, false)
126 780 : CHECKER("nullability.NullPassedToNonnull", NullPassedToNonnullChecker, NullabilityChecker.cpp, "Warns when a null pointer is passed to a pointer which has a _Nonnull type.", -1, false)
127 780 : CHECKER("nullability.NullReturnedFromNonnull", NullReturnedFromNonnullChecker, NullabilityChecker.cpp, "Warns when a null pointer is returned from a function that has _Nonnull return type.", -1, false)
128 780 : CHECKER("nullability.NullableDereferenced", NullableDereferencedChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is dereferenced.", -1, false)
129 780 : CHECKER("nullability.NullablePassedToNonnull", NullablePassedToNonnullChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is passed to a pointer which has a _Nonnull type.", -1, false)
130 780 : CHECKER("nullability.NullableReturnedFromNonnull", NullableReturnedFromNonnullChecker, NullabilityChecker.cpp, "Warns when a nullable pointer is returned from a function that has _Nonnull return type.", -1, false)
131 780 : CHECKER("osx.NumberObjectConversion", NumberObjectConversionChecker, NumberObjectConversionChecker.cpp, "Check for erroneous conversions of objects representing numbers into numbers", -1, false)
132 780 : CHECKER("osx.cocoa.AtSync", ObjCAtSyncChecker, ObjCAtSyncChecker.cpp, "Check for nil pointers used as mutexes for @synchronized", -1, false)
133 780 : CHECKER("osx.coreFoundation.containers.PointerSizedValues", ObjCContainersASTChecker, ObjCContainersASTChecker.cpp, "Warns if 'CFArray', 'CFDictionary', 'CFSet' are created with non-pointer-size values", -1, false)
134 780 : CHECKER("osx.coreFoundation.containers.OutOfBounds", ObjCContainersChecker, ObjCContainersChecker.cpp, "Checks for index out-of-bounds when using 'CFArray' API", -1, false)
135 780 : CHECKER("osx.cocoa.Dealloc", ObjCDeallocChecker, CheckObjCDealloc.cpp, "Warn about Objective-C classes that lack a correct implementation of -dealloc", -1, false)
136 780 : CHECKER("osx.cocoa.ObjCGenerics", ObjCGenericsChecker, DynamicTypePropagation.cpp, "Check for type errors when using Objective-C generics", -1, false)
137 780 : CHECKER("osx.cocoa.Loops", ObjCLoopChecker, BasicObjCFoundationChecks.cpp, "Improved modeling of loops using Cocoa collection types", -1, false)
138 780 : CHECKER("osx.cocoa.IncompatibleMethodTypes", ObjCMethSigsChecker, CheckObjCInstMethSignature.cpp, "Warn about Objective-C method signatures with type incompatibilities", -1, false)
139 780 : CHECKER("osx.cocoa.NonNilReturnValue", ObjCNonNilReturnValueChecker, BasicObjCFoundationChecks.cpp, "Model the APIs that are guaranteed to return a non-nil value", -1, false)
140 780 : CHECKER("osx.ObjCProperty", ObjCPropertyChecker, ObjCPropertyChecker.cpp, "Check for proper uses of Objective-C properties", -1, false)
141 780 : CHECKER("osx.cocoa.SelfInit", ObjCSelfInitChecker, ObjCSelfInitChecker.cpp, "Check that 'self' is properly initialized inside an initializer method", -1, false)
142 780 : CHECKER("osx.cocoa.MissingSuperCall", ObjCSuperCallChecker, ObjCMissingSuperCallChecker.cpp, "Warn about Objective-C methods that lack a necessary call to super", -1, false)
143 780 : CHECKER("osx.cocoa.SuperDealloc", ObjCSuperDeallocChecker, ObjCSuperDeallocChecker.cpp, "Warn about improper use of '[super dealloc]' in Objective-C", -1, false)
144 780 : CHECKER("osx.cocoa.UnusedIvars", ObjCUnusedIvarsChecker, ObjCUnusedIVarsChecker.cpp, "Warn about private ivars that are never used", -1, false)
145 780 : CHECKER("optin.performance.Padding", PaddingChecker, PaddingChecker.cpp, "Check for excessively padded structs.", -1, false)
146 780 : CHECKER("alpha.osx.cocoa.localizability.PluralMisuseChecker", PluralMisuseChecker, LocalizationChecker.cpp, "Warns against using one vs. many plural pattern in code when generating localized strings.", -1, true)
147 780 : CHECKER("alpha.core.PointerArithm", PointerArithChecker, PointerArithChecker, "Check for pointer arithmetic on locations other than array elements", -1, true)
148 780 : CHECKER("alpha.core.PointerSub", PointerSubChecker, PointerSubChecker, "Check for pointer subtractions on two pointers pointing to different memory chunks", -1, true)
149 780 : CHECKER("alpha.unix.PthreadLock", PthreadLockChecker, PthreadLockChecker.cpp, "Simple lock -> unlock checker", -1, true)
150 780 : CHECKER("osx.cocoa.RetainCount", RetainCountChecker, RetainCountChecker.cpp, "Check for leaks and improper reference count management", -1, false)
151 780 : CHECKER("alpha.security.ReturnPtrRange", ReturnPointerRangeChecker, ReturnPointerRangeChecker.cpp, "Check for an out-of-bound pointer being returned to callers", -1, true)
152 780 : CHECKER("core.uninitialized.UndefReturn", ReturnUndefChecker, ReturnUndefChecker.cpp, "Check for uninitialized values being returned to the caller", -1, false)
153 780 : CHECKER("osx.cocoa.RunLoopAutoreleaseLeak", RunLoopAutoreleaseLeakChecker, RunLoopAutoreleaseLeakChecker.cpp, "Check for leaked memory in autorelease pools that will never be drained", -1, false)
154 780 : CHECKER("alpha.unix.SimpleStream", SimpleStreamChecker, SimpleStreamChecker.cpp, "Check for misuses of stream APIs", -1, true)
155 780 : CHECKER("alpha.core.SizeofPtr", SizeofPointerChecker, CheckSizeofPointer.cpp, "Warn about unintended use of sizeof() on pointer expressions", -1, true)
156 780 : CHECKER("alpha.core.StackAddressAsyncEscape", StackAddrAsyncEscapeChecker, StackAddrEscapeChecker.cpp, "Check that addresses to stack memory do not escape the function", -1, true)
157 780 : CHECKER("core.StackAddressEscape", StackAddrEscapeChecker, StackAddrEscapeChecker.cpp, "Check that addresses to stack memory do not escape the function", -1, false)
158 780 : CHECKER("apiModeling.StdCLibraryFunctions", StdCLibraryFunctionsChecker, StdLibraryFunctionsChecker.cpp, "Improve modeling of the C standard library functions", -1, true)
159 780 : CHECKER("alpha.unix.Stream", StreamChecker, StreamChecker.cpp, "Check stream handling functions", -1, true)
160 780 : CHECKER("debug.TaintTest", TaintTesterChecker, TaintTesterChecker.cpp, "Mark tainted symbols as such.", -1, false)
161 780 : CHECKER("alpha.core.TestAfterDivZero", TestAfterDivZeroChecker, TestAfterDivZeroChecker.cpp, "Check for division by variable that is later compared against 0. Either the comparison is useless or there is division by zero.", -1, true)
162 780 : CHECKER("debug.DumpTraversal", TraversalDumper, TraversalChecker.cpp, "Print branch conditions as they are traversed by the engine", -1, false)
163 780 : CHECKER("apiModeling.TrustNonnull", TrustNonnullChecker, TrustNonnullChecker.cpp, "Trust that returns from framework methods annotated with _Nonnull are not null", -1, true)
164 780 : CHECKER("security.insecureAPI.UncheckedReturn", UncheckedReturn, CheckSecuritySyntaxOnly.cpp, "Warn on uses of functions whose return values must be always checked", -1, false)
165 780 : CHECKER("core.uninitialized.Branch", UndefBranchChecker, UndefBranchChecker.cpp, "Check for uninitialized values used as branch conditions", -1, false)
166 780 : CHECKER("core.uninitialized.CapturedBlockVariable", UndefCapturedBlockVarChecker, UndefCapturedBlockVarChecker.cpp, "Check for blocks that capture uninitialized values", -1, false)
167 780 : CHECKER("core.UndefinedBinaryOperatorResult", UndefResultChecker, UndefResultChecker.cpp, "Check for undefined results of binary operators", -1, false)
168 780 : CHECKER("core.uninitialized.ArraySubscript", UndefinedArraySubscriptChecker, UndefinedArraySubscriptChecker.cpp, "Check for uninitialized values used as array subscripts", -1, false)
169 780 : CHECKER("core.uninitialized.Assign", UndefinedAssignmentChecker, UndefinedAssignmentChecker.cpp, "Check for assigning uninitialized values", -1, false)
170 780 : CHECKER("valist.Uninitialized", UninitializedChecker, ValistChecker.cpp, "Check for usages of uninitialized (or already released) va_lists.", -1, false)
171 780 : CHECKER("alpha.cplusplus.UninitializedObject", UninitializedObjectChecker, UninitializedObjectChecker.cpp, "Reports uninitialized fields after object construction", -1, true)
172 780 : CHECKER("unix.API", UnixAPIMisuseChecker, UnixAPIChecker.cpp, "Check calls to various UNIX/Posix functions", -1, false)
173 780 : CHECKER("optin.portability.UnixAPI", UnixAPIPortabilityChecker, UnixAPIChecker.cpp, "Finds implementation-defined behavior in UNIX/Posix functions", -1, false)
174 780 : CHECKER("alpha.deadcode.UnreachableCode", UnreachableCodeChecker, UnreachableCodeChecker.cpp, "Check unreachable code", -1, true)
175 780 : CHECKER("valist.Unterminated", UnterminatedChecker, ValistChecker.cpp, "Check for va_lists which are not released by a va_end call.", -1, false)
176 780 : CHECKER("core.VLASize", VLASizeChecker, VLASizeChecker.cpp, "Check for declarations of VLA of undefined or zero size", -1, false)
177 780 : CHECKER("osx.cocoa.VariadicMethodTypes", VariadicMethodTypeChecker, BasicObjCFoundationChecks.cpp, "Check for passing non-Objective-C types to variadic collection initialization methods that expect only Objective-C types", -1, false)
178 780 : CHECKER("unix.Vfork", VforkChecker, VforkChecker.cpp, "Check for proper usage of vfork", -1, false)
179 780 : CHECKER("optin.cplusplus.VirtualCall", VirtualCallChecker, VirtualCallChecker.cpp, "Check virtual function calls during construction or destruction", -1, false)
180 780 : CHECKER("security.insecureAPI.bcmp", bcmp, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'bcmp' function", -1, false)
181 780 : CHECKER("security.insecureAPI.bcopy", bcopy, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'bcopy' function", -1, false)
182 780 : CHECKER("security.insecureAPI.bzero", bzero, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'bzero' function", -1, false)
183 780 : CHECKER("security.insecureAPI.getpw", getpw, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'getpw' function", -1, false)
184 780 : CHECKER("security.insecureAPI.gets", gets, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'gets' function", -1, false)
185 780 : CHECKER("security.insecureAPI.mkstemp", mkstemp, CheckSecuritySyntaxOnly.cpp, "Warn when 'mkstemp' is passed fewer than 6 X's in the format string", -1, false)
186 780 : CHECKER("security.insecureAPI.mktemp", mktemp, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'mktemp' function", -1, false)
187 780 : CHECKER("security.insecureAPI.rand", rand, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'rand', 'random', and related functions", -1, false)
188 780 : CHECKER("security.insecureAPI.strcpy", strcpy, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'strcpy' and 'strcat' functions", -1, false)
189 780 : CHECKER("security.insecureAPI.vfork", vfork, CheckSecuritySyntaxOnly.cpp, "Warn on uses of the 'vfork' function", -1, false)
190 : #endif // GET_CHECKERS
191 :
192 :
193 : #ifdef GET_MEMBER_ARRAYS
194 : static const short SubPackageArray0[] = { 3, 17, 24, 34, 42, 26, 1, -1 };
195 : static const short SubPackageArray1[] = { 2, -1 };
196 : static const short CheckerArray2[] = { 28, -1 };
197 : static const short SubPackageArray3[] = { 4, 6, 7, 8, 11, 10, 12, 13, 14, 5, 16, 9, 15, -1 };
198 : static const short CheckerArray4[] = { 6, -1 };
199 : static const short CheckerArray5[] = { 20, -1 };
200 : static const short CheckerArray6[] = { 24, -1 };
201 : static const short CheckerArray7[] = { 25, -1 };
202 : static const short CheckerArray8[] = { 30, -1 };
203 : static const short CheckerArray9[] = { 39, -1 };
204 : static const short CheckerArray10[] = { 44, -1 };
205 : static const short CheckerArray11[] = { 49, -1 };
206 : static const short CheckerArray12[] = { 97, -1 };
207 : static const short CheckerArray13[] = { 98, -1 };
208 : static const short CheckerArray14[] = { 105, -1 };
209 : static const short CheckerArray15[] = { 106, -1 };
210 : static const short CheckerArray16[] = { 111, -1 };
211 : static const short SubPackageArray17[] = { 18, 19, 20, 21, 22, 23, -1 };
212 : static const short CheckerArray18[] = { 33, -1 };
213 : static const short CheckerArray19[] = { 52, -1 };
214 : static const short CheckerArray20[] = { 53, -1 };
215 : static const short CheckerArray21[] = { 63, -1 };
216 : static const short CheckerArray22[] = { 65, -1 };
217 : static const short CheckerArray23[] = { 121, -1 };
218 : static const short SubPackageArray24[] = { 25, -1 };
219 : static const short CheckerArray25[] = { 124, -1 };
220 : static const short SubPackageArray26[] = { 27, -1 };
221 : static const short SubPackageArray27[] = { 32, 30, 31, 28, 29, -1 };
222 : static const short CheckerArray28[] = { 35, -1 };
223 : static const short CheckerArray29[] = { 36, -1 };
224 : static const short CheckerArray30[] = { 51, -1 };
225 : static const short CheckerArray31[] = { 64, -1 };
226 : static const short SubPackageArray32[] = { 33, -1 };
227 : static const short CheckerArray33[] = { 96, -1 };
228 : static const short SubPackageArray34[] = { 40, 35, 36, 39, 37, 38, -1 };
229 : static const short CheckerArray35[] = { 2, -1 };
230 : static const short CheckerArray36[] = { 3, -1 };
231 : static const short CheckerArray37[] = { 60, -1 };
232 : static const short CheckerArray38[] = { 66, -1 };
233 : static const short CheckerArray39[] = { 101, -1 };
234 : static const short SubPackageArray40[] = { 41, -1 };
235 : static const short CheckerArray41[] = { 48, -1 };
236 : static const short SubPackageArray42[] = { 48, 44, 45, 47, 46, 43, -1 };
237 : static const short CheckerArray43[] = { 5, -1 };
238 : static const short CheckerArray44[] = { 26, -1 };
239 : static const short CheckerArray45[] = { 99, -1 };
240 : static const short CheckerArray46[] = { 104, -1 };
241 : static const short CheckerArray47[] = { 109, -1 };
242 : static const short SubPackageArray48[] = { 51, 49, 50, -1 };
243 : static const short CheckerArray49[] = { 13, -1 };
244 : static const short CheckerArray50[] = { 14, -1 };
245 : static const short CheckerArray51[] = { 16, -1 };
246 : static const short SubPackageArray52[] = { 55, 53, 54, -1 };
247 : static const short CheckerArray53[] = { 108, -1 };
248 : static const short CheckerArray54[] = { 113, -1 };
249 : static const short SubPackageArray55[] = { 56, -1 };
250 : static const short CheckerArray56[] = { 47, -1 };
251 : static const short SubPackageArray57[] = { 67, 70, 63, 58, 61, 66, 59, 65, 64, 60, 62, -1 };
252 : static const short CheckerArray58[] = { 19, -1 };
253 : static const short CheckerArray59[] = { 37, -1 };
254 : static const short CheckerArray60[] = { 40, -1 };
255 : static const short CheckerArray61[] = { 74, -1 };
256 : static const short CheckerArray62[] = { 75, -1 };
257 : static const short CheckerArray63[] = { 34, -1 };
258 : static const short CheckerArray64[] = { 107, -1 };
259 : static const short CheckerArray65[] = { 117, -1 };
260 : static const short CheckerArray66[] = { 126, -1 };
261 : static const short SubPackageArray67[] = { 69, 68, -1 };
262 : static const short CheckerArray68[] = { 7, -1 };
263 : static const short CheckerArray69[] = { 72, -1 };
264 : static const short SubPackageArray70[] = { 71, 72, 73, 74, 75, -1 };
265 : static const short CheckerArray71[] = { 118, -1 };
266 : static const short CheckerArray72[] = { 119, -1 };
267 : static const short CheckerArray73[] = { 115, -1 };
268 : static const short CheckerArray74[] = { 116, -1 };
269 : static const short CheckerArray75[] = { 102, -1 };
270 : static const short SubPackageArray76[] = { 77, 78, 79, 80, -1 };
271 : static const short CheckerArray77[] = { 50, -1 };
272 : static const short CheckerArray78[] = { 69, -1 };
273 : static const short CheckerArray79[] = { 70, -1 };
274 : static const short CheckerArray80[] = { 18, -1 };
275 : static const short SubPackageArray81[] = { 82, -1 };
276 : static const short CheckerArray82[] = { 32, -1 };
277 : static const short SubPackageArray83[] = { 84, 89, 90, 95, 86, 96, 87, 85, 91, 88, 93, 94, 92, 97, -1 };
278 : static const short CheckerArray84[] = { 0, -1 };
279 : static const short CheckerArray85[] = { 29, -1 };
280 : static const short CheckerArray86[] = { 9, -1 };
281 : static const short CheckerArray87[] = { 22, -1 };
282 : static const short CheckerArray88[] = { 21, -1 };
283 : static const short CheckerArray89[] = { 38, -1 };
284 : static const short CheckerArray90[] = { 55, -1 };
285 : static const short CheckerArray91[] = { 112, -1 };
286 : static const short CheckerArray92[] = { 43, -1 };
287 : static const short CheckerArray93[] = { 1, -1 };
288 : static const short CheckerArray94[] = { 110, -1 };
289 : static const short CheckerArray95[] = { 10, -1 };
290 : static const short CheckerArray96[] = { 23, -1 };
291 : static const short CheckerArray97[] = { 42, -1 };
292 : static const short SubPackageArray98[] = { 99, -1 };
293 : static const short CheckerArray99[] = { 54, -1 };
294 : static const short SubPackageArray100[] = { 101, 102, 103, 104, 105, -1 };
295 : static const short CheckerArray101[] = { 76, -1 };
296 : static const short CheckerArray102[] = { 77, -1 };
297 : static const short CheckerArray103[] = { 78, -1 };
298 : static const short CheckerArray104[] = { 79, -1 };
299 : static const short CheckerArray105[] = { 80, -1 };
300 : static const short SubPackageArray106[] = { 119, 107, 116, 111, 109, -1 };
301 : static const short SubPackageArray107[] = { 108, -1 };
302 : static const short CheckerArray108[] = { 129, -1 };
303 : static const short SubPackageArray109[] = { 110, -1 };
304 : static const short CheckerArray110[] = { 56, -1 };
305 : static const short SubPackageArray111[] = { 112, -1 };
306 : static const short SubPackageArray112[] = { 113, -1 };
307 : static const short SubPackageArray113[] = { 115, 114, -1 };
308 : static const short CheckerArray114[] = { 41, -1 };
309 : static const short CheckerArray115[] = { 73, -1 };
310 : static const short SubPackageArray116[] = { 118, 117, -1 };
311 : static const short CheckerArray117[] = { 46, -1 };
312 : static const short CheckerArray118[] = { 95, -1 };
313 : static const short SubPackageArray119[] = { 120, -1 };
314 : static const short CheckerArray120[] = { 123, -1 };
315 : static const short SubPackageArray121[] = { 126, 145, 123, 122, 125, 124, -1 };
316 : static const short CheckerArray122[] = { 58, -1 };
317 : static const short CheckerArray123[] = { 81, -1 };
318 : static const short CheckerArray124[] = { 90, -1 };
319 : static const short CheckerArray125[] = { 57, -1 };
320 : static const short SubPackageArray126[] = { 140, 127, 136, 129, 144, 134, 131, 143, 141, 132, 137, 133, 135, 139, 138, 130, 142, 128, -1 };
321 : static const short CheckerArray127[] = { 82, -1 };
322 : static const short CheckerArray128[] = { 4, -1 };
323 : static const short CheckerArray129[] = { 27, -1 };
324 : static const short CheckerArray130[] = { 85, -1 };
325 : static const short CheckerArray131[] = { 88, -1 };
326 : static const short CheckerArray132[] = { 87, -1 };
327 : static const short CheckerArray133[] = { 92, -1 };
328 : static const short CheckerArray134[] = { 67, -1 };
329 : static const short CheckerArray135[] = { 68, -1 };
330 : static const short CheckerArray136[] = { 71, -1 };
331 : static const short CheckerArray137[] = { 89, -1 };
332 : static const short CheckerArray138[] = { 86, -1 };
333 : static const short CheckerArray139[] = { 100, -1 };
334 : static const short CheckerArray140[] = { 103, -1 };
335 : static const short CheckerArray141[] = { 91, -1 };
336 : static const short CheckerArray142[] = { 93, -1 };
337 : static const short CheckerArray143[] = { 94, -1 };
338 : static const short CheckerArray144[] = { 127, -1 };
339 : static const short SubPackageArray145[] = { 149, 147, 148, 146, -1 };
340 : static const short CheckerArray146[] = { 8, -1 };
341 : static const short CheckerArray147[] = { 11, -1 };
342 : static const short CheckerArray148[] = { 12, -1 };
343 : static const short SubPackageArray149[] = { 151, 150, -1 };
344 : static const short CheckerArray150[] = { 84, -1 };
345 : static const short CheckerArray151[] = { 83, -1 };
346 : static const short SubPackageArray152[] = { 154, 153, -1 };
347 : static const short CheckerArray153[] = { 45, -1 };
348 : static const short SubPackageArray154[] = { 156, 157, 158, 160, 159, 162, 161, 163, 164, 165, 155, -1 };
349 : static const short CheckerArray155[] = { 114, -1 };
350 : static const short CheckerArray156[] = { 130, -1 };
351 : static const short CheckerArray157[] = { 131, -1 };
352 : static const short CheckerArray158[] = { 132, -1 };
353 : static const short CheckerArray159[] = { 133, -1 };
354 : static const short CheckerArray160[] = { 134, -1 };
355 : static const short CheckerArray161[] = { 135, -1 };
356 : static const short CheckerArray162[] = { 136, -1 };
357 : static const short CheckerArray163[] = { 137, -1 };
358 : static const short CheckerArray164[] = { 138, -1 };
359 : static const short CheckerArray165[] = { 139, -1 };
360 : static const short SubPackageArray166[] = { 172, 167, 168, 169, 170, 171, -1 };
361 : static const short CheckerArray167[] = { 122, -1 };
362 : static const short CheckerArray168[] = { 59, -1 };
363 : static const short CheckerArray169[] = { 61, -1 };
364 : static const short CheckerArray170[] = { 62, -1 };
365 : static const short CheckerArray171[] = { 128, -1 };
366 : static const short SubPackageArray172[] = { 174, 173, -1 };
367 : static const short CheckerArray173[] = { 17, -1 };
368 : static const short CheckerArray174[] = { 15, -1 };
369 : static const short SubPackageArray175[] = { 177, 178, 176, -1 };
370 : static const short CheckerArray176[] = { 31, -1 };
371 : static const short CheckerArray177[] = { 120, -1 };
372 : static const short CheckerArray178[] = { 125, -1 };
373 : #endif // GET_MEMBER_ARRAYS
374 :
375 :
376 : #ifdef GET_CHECKNAME_TABLE
377 : { "alpha", 0, SubPackageArray0, false },
378 : { "alpha.clone", 0, SubPackageArray1, true },
379 : { "alpha.clone.CloneChecker", CheckerArray2, 0, false },
380 : { "alpha.core", 0, SubPackageArray3, true },
381 : { "alpha.core.BoolAssignment", CheckerArray4, 0, false },
382 : { "alpha.core.CallAndMessageUnInitRefArg", CheckerArray5, 0, false },
383 : { "alpha.core.CastSize", CheckerArray6, 0, false },
384 : { "alpha.core.CastToStruct", CheckerArray7, 0, false },
385 : { "alpha.core.Conversion", CheckerArray8, 0, false },
386 : { "alpha.core.DynamicTypeChecker", CheckerArray9, 0, false },
387 : { "alpha.core.FixedAddr", CheckerArray10, 0, false },
388 : { "alpha.core.IdenticalExpr", CheckerArray11, 0, false },
389 : { "alpha.core.PointerArithm", CheckerArray12, 0, false },
390 : { "alpha.core.PointerSub", CheckerArray13, 0, false },
391 : { "alpha.core.SizeofPtr", CheckerArray14, 0, false },
392 : { "alpha.core.StackAddressAsyncEscape", CheckerArray15, 0, false },
393 : { "alpha.core.TestAfterDivZero", CheckerArray16, 0, false },
394 : { "alpha.cplusplus", 0, SubPackageArray17, true },
395 : { "alpha.cplusplus.DeleteWithNonVirtualDtor", CheckerArray18, 0, false },
396 : { "alpha.cplusplus.InvalidatedIterator", CheckerArray19, 0, false },
397 : { "alpha.cplusplus.IteratorRange", CheckerArray20, 0, false },
398 : { "alpha.cplusplus.MismatchedIterator", CheckerArray21, 0, false },
399 : { "alpha.cplusplus.MisusedMovedObject", CheckerArray22, 0, false },
400 : { "alpha.cplusplus.UninitializedObject", CheckerArray23, 0, false },
401 : { "alpha.deadcode", 0, SubPackageArray24, true },
402 : { "alpha.deadcode.UnreachableCode", CheckerArray25, 0, false },
403 : { "alpha.osx", 0, SubPackageArray26, true },
404 : { "alpha.osx.cocoa", 0, SubPackageArray27, true },
405 : { "alpha.osx.cocoa.DirectIvarAssignment", CheckerArray28, 0, false },
406 : { "alpha.osx.cocoa.DirectIvarAssignmentForAnnotatedFunctions", CheckerArray29, 0, false },
407 : { "alpha.osx.cocoa.InstanceVariableInvalidation", CheckerArray30, 0, false },
408 : { "alpha.osx.cocoa.MissingInvalidationMethod", CheckerArray31, 0, false },
409 : { "alpha.osx.cocoa.localizability", 0, SubPackageArray32, true },
410 : { "alpha.osx.cocoa.localizability.PluralMisuseChecker", CheckerArray33, 0, false },
411 : { "alpha.security", 0, SubPackageArray34, true },
412 : { "alpha.security.ArrayBound", CheckerArray35, 0, false },
413 : { "alpha.security.ArrayBoundV2", CheckerArray36, 0, false },
414 : { "alpha.security.MallocOverflow", CheckerArray37, 0, false },
415 : { "alpha.security.MmapWriteExec", CheckerArray38, 0, false },
416 : { "alpha.security.ReturnPtrRange", CheckerArray39, 0, false },
417 : { "alpha.security.taint", 0, SubPackageArray40, true },
418 : { "alpha.security.taint.TaintPropagation", CheckerArray41, 0, false },
419 : { "alpha.unix", 0, SubPackageArray42, true },
420 : { "alpha.unix.BlockInCriticalSection", CheckerArray43, 0, false },
421 : { "alpha.unix.Chroot", CheckerArray44, 0, false },
422 : { "alpha.unix.PthreadLock", CheckerArray45, 0, false },
423 : { "alpha.unix.SimpleStream", CheckerArray46, 0, false },
424 : { "alpha.unix.Stream", CheckerArray47, 0, false },
425 : { "alpha.unix.cstring", 0, SubPackageArray48, true },
426 : { "alpha.unix.cstring.BufferOverlap", CheckerArray49, 0, false },
427 : { "alpha.unix.cstring.NotNullTerminated", CheckerArray50, 0, false },
428 : { "alpha.unix.cstring.OutOfBounds", CheckerArray51, 0, false },
429 : { "apiModeling", 0, SubPackageArray52, true },
430 : { "apiModeling.StdCLibraryFunctions", CheckerArray53, 0, false },
431 : { "apiModeling.TrustNonnull", CheckerArray54, 0, false },
432 : { "apiModeling.google", 0, SubPackageArray55, true },
433 : { "apiModeling.google.GTest", CheckerArray56, 0, false },
434 : { "core", 0, SubPackageArray57, false },
435 : { "core.CallAndMessage", CheckerArray58, 0, false },
436 : { "core.DivideZero", CheckerArray59, 0, false },
437 : { "core.DynamicTypePropagation", CheckerArray60, 0, false },
438 : { "core.NonNullParamChecker", CheckerArray61, 0, false },
439 : { "core.NonnilStringConstants", CheckerArray62, 0, false },
440 : { "core.NullDereference", CheckerArray63, 0, false },
441 : { "core.StackAddressEscape", CheckerArray64, 0, false },
442 : { "core.UndefinedBinaryOperatorResult", CheckerArray65, 0, false },
443 : { "core.VLASize", CheckerArray66, 0, false },
444 : { "core.builtin", 0, SubPackageArray67, false },
445 : { "core.builtin.BuiltinFunctions", CheckerArray68, 0, false },
446 : { "core.builtin.NoReturnFunctions", CheckerArray69, 0, false },
447 : { "core.uninitialized", 0, SubPackageArray70, false },
448 : { "core.uninitialized.ArraySubscript", CheckerArray71, 0, false },
449 : { "core.uninitialized.Assign", CheckerArray72, 0, false },
450 : { "core.uninitialized.Branch", CheckerArray73, 0, false },
451 : { "core.uninitialized.CapturedBlockVariable", CheckerArray74, 0, false },
452 : { "core.uninitialized.UndefReturn", CheckerArray75, 0, false },
453 : { "cplusplus", 0, SubPackageArray76, false },
454 : { "cplusplus.InnerPointer", CheckerArray77, 0, false },
455 : { "cplusplus.NewDelete", CheckerArray78, 0, false },
456 : { "cplusplus.NewDeleteLeaks", CheckerArray79, 0, false },
457 : { "cplusplus.SelfAssignment", CheckerArray80, 0, false },
458 : { "deadcode", 0, SubPackageArray81, false },
459 : { "deadcode.DeadStores", CheckerArray82, 0, false },
460 : { "debug", 0, SubPackageArray83, false },
461 : { "debug.AnalysisOrder", CheckerArray84, 0, false },
462 : { "debug.ConfigDumper", CheckerArray85, 0, false },
463 : { "debug.DumpCFG", CheckerArray86, 0, false },
464 : { "debug.DumpCallGraph", CheckerArray87, 0, false },
465 : { "debug.DumpCalls", CheckerArray88, 0, false },
466 : { "debug.DumpDominators", CheckerArray89, 0, false },
467 : { "debug.DumpLiveVars", CheckerArray90, 0, false },
468 : { "debug.DumpTraversal", CheckerArray91, 0, false },
469 : { "debug.ExprInspection", CheckerArray92, 0, false },
470 : { "debug.Stats", CheckerArray93, 0, false },
471 : { "debug.TaintTest", CheckerArray94, 0, false },
472 : { "debug.ViewCFG", CheckerArray95, 0, false },
473 : { "debug.ViewCallGraph", CheckerArray96, 0, false },
474 : { "debug.ViewExplodedGraph", CheckerArray97, 0, false },
475 : { "llvm", 0, SubPackageArray98, false },
476 : { "llvm.Conventions", CheckerArray99, 0, false },
477 : { "nullability", 0, SubPackageArray100, false },
478 : { "nullability.NullPassedToNonnull", CheckerArray101, 0, false },
479 : { "nullability.NullReturnedFromNonnull", CheckerArray102, 0, false },
480 : { "nullability.NullableDereferenced", CheckerArray103, 0, false },
481 : { "nullability.NullablePassedToNonnull", CheckerArray104, 0, false },
482 : { "nullability.NullableReturnedFromNonnull", CheckerArray105, 0, false },
483 : { "optin", 0, SubPackageArray106, false },
484 : { "optin.cplusplus", 0, SubPackageArray107, false },
485 : { "optin.cplusplus.VirtualCall", CheckerArray108, 0, false },
486 : { "optin.mpi", 0, SubPackageArray109, false },
487 : { "optin.mpi.MPI-Checker", CheckerArray110, 0, false },
488 : { "optin.osx", 0, SubPackageArray111, false },
489 : { "optin.osx.cocoa", 0, SubPackageArray112, false },
490 : { "optin.osx.cocoa.localizability", 0, SubPackageArray113, false },
491 : { "optin.osx.cocoa.localizability.EmptyLocalizationContextChecker", CheckerArray114, 0, false },
492 : { "optin.osx.cocoa.localizability.NonLocalizedStringChecker", CheckerArray115, 0, false },
493 : { "optin.performance", 0, SubPackageArray116, false },
494 : { "optin.performance.GCDAntipattern", CheckerArray117, 0, false },
495 : { "optin.performance.Padding", CheckerArray118, 0, false },
496 : { "optin.portability", 0, SubPackageArray119, false },
497 : { "optin.portability.UnixAPI", CheckerArray120, 0, false },
498 : { "osx", 0, SubPackageArray121, false },
499 : { "osx.API", CheckerArray122, 0, false },
500 : { "osx.NumberObjectConversion", CheckerArray123, 0, false },
501 : { "osx.ObjCProperty", CheckerArray124, 0, false },
502 : { "osx.SecKeychainAPI", CheckerArray125, 0, false },
503 : { "osx.cocoa", 0, SubPackageArray126, false },
504 : { "osx.cocoa.AtSync", CheckerArray127, 0, false },
505 : { "osx.cocoa.AutoreleaseWrite", CheckerArray128, 0, false },
506 : { "osx.cocoa.ClassRelease", CheckerArray129, 0, false },
507 : { "osx.cocoa.Dealloc", CheckerArray130, 0, false },
508 : { "osx.cocoa.IncompatibleMethodTypes", CheckerArray131, 0, false },
509 : { "osx.cocoa.Loops", CheckerArray132, 0, false },
510 : { "osx.cocoa.MissingSuperCall", CheckerArray133, 0, false },
511 : { "osx.cocoa.NSAutoreleasePool", CheckerArray134, 0, false },
512 : { "osx.cocoa.NSError", CheckerArray135, 0, false },
513 : { "osx.cocoa.NilArg", CheckerArray136, 0, false },
514 : { "osx.cocoa.NonNilReturnValue", CheckerArray137, 0, false },
515 : { "osx.cocoa.ObjCGenerics", CheckerArray138, 0, false },
516 : { "osx.cocoa.RetainCount", CheckerArray139, 0, false },
517 : { "osx.cocoa.RunLoopAutoreleaseLeak", CheckerArray140, 0, false },
518 : { "osx.cocoa.SelfInit", CheckerArray141, 0, false },
519 : { "osx.cocoa.SuperDealloc", CheckerArray142, 0, false },
520 : { "osx.cocoa.UnusedIvars", CheckerArray143, 0, false },
521 : { "osx.cocoa.VariadicMethodTypes", CheckerArray144, 0, false },
522 : { "osx.coreFoundation", 0, SubPackageArray145, false },
523 : { "osx.coreFoundation.CFError", CheckerArray146, 0, false },
524 : { "osx.coreFoundation.CFNumber", CheckerArray147, 0, false },
525 : { "osx.coreFoundation.CFRetainRelease", CheckerArray148, 0, false },
526 : { "osx.coreFoundation.containers", 0, SubPackageArray149, false },
527 : { "osx.coreFoundation.containers.OutOfBounds", CheckerArray150, 0, false },
528 : { "osx.coreFoundation.containers.PointerSizedValues", CheckerArray151, 0, false },
529 : { "security", 0, SubPackageArray152, false },
530 : { "security.FloatLoopCounter", CheckerArray153, 0, false },
531 : { "security.insecureAPI", 0, SubPackageArray154, false },
532 : { "security.insecureAPI.UncheckedReturn", CheckerArray155, 0, false },
533 : { "security.insecureAPI.bcmp", CheckerArray156, 0, false },
534 : { "security.insecureAPI.bcopy", CheckerArray157, 0, false },
535 : { "security.insecureAPI.bzero", CheckerArray158, 0, false },
536 : { "security.insecureAPI.getpw", CheckerArray159, 0, false },
537 : { "security.insecureAPI.gets", CheckerArray160, 0, false },
538 : { "security.insecureAPI.mkstemp", CheckerArray161, 0, false },
539 : { "security.insecureAPI.mktemp", CheckerArray162, 0, false },
540 : { "security.insecureAPI.rand", CheckerArray163, 0, false },
541 : { "security.insecureAPI.strcpy", CheckerArray164, 0, false },
542 : { "security.insecureAPI.vfork", CheckerArray165, 0, false },
543 : { "unix", 0, SubPackageArray166, false },
544 : { "unix.API", CheckerArray167, 0, false },
545 : { "unix.Malloc", CheckerArray168, 0, false },
546 : { "unix.MallocSizeof", CheckerArray169, 0, false },
547 : { "unix.MismatchedDeallocator", CheckerArray170, 0, false },
548 : { "unix.Vfork", CheckerArray171, 0, false },
549 : { "unix.cstring", 0, SubPackageArray172, true },
550 : { "unix.cstring.BadSizeArg", CheckerArray173, 0, false },
551 : { "unix.cstring.NullArg", CheckerArray174, 0, false },
552 : { "valist", 0, SubPackageArray175, false },
553 : { "valist.CopyToSelf", CheckerArray176, 0, false },
554 : { "valist.Uninitialized", CheckerArray177, 0, false },
555 : { "valist.Unterminated", CheckerArray178, 0, false },
556 : #endif // GET_CHECKNAME_TABLE
557 :
|