diff options
Diffstat (limited to 'clang/test')
28 files changed, 265 insertions, 0 deletions
diff --git a/clang/test/Analysis/MismatchedDeallocator-path-notes.cpp b/clang/test/Analysis/MismatchedDeallocator-path-notes.cpp index 61ab4f1eeb5..686497c4a9c 100644 --- a/clang/test/Analysis/MismatchedDeallocator-path-notes.cpp +++ b/clang/test/Analysis/MismatchedDeallocator-path-notes.cpp @@ -146,6 +146,7 @@ void test() { // CHECK-NEXT: <key>description</key><string>Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Bad deallocator</string> +// CHECK-NEXT: <key>check_name</key><string>unix.MismatchedDeallocator</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> diff --git a/clang/test/Analysis/NewDelete-path-notes.cpp b/clang/test/Analysis/NewDelete-path-notes.cpp index b420551c3e9..f55df0068d3 100644 --- a/clang/test/Analysis/NewDelete-path-notes.cpp +++ b/clang/test/Analysis/NewDelete-path-notes.cpp @@ -259,6 +259,7 @@ void test(Odd *odd) { // CHECK-NEXT: <key>description</key><string>Attempt to free released memory</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Double free</string> +// CHECK-NEXT: <key>check_name</key><string>cplusplus.NewDelete</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -474,6 +475,7 @@ void test(Odd *odd) { // CHECK-NEXT: <key>description</key><string>Attempt to free released memory</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Double free</string> +// CHECK-NEXT: <key>check_name</key><string>cplusplus.NewDelete</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/conditional-path-notes.c b/clang/test/Analysis/conditional-path-notes.c index 23784970e1f..9583a4e8113 100644 --- a/clang/test/Analysis/conditional-path-notes.c +++ b/clang/test/Analysis/conditional-path-notes.c @@ -313,6 +313,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testCondOp</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -456,6 +457,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testCondProblem</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -599,6 +601,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLHSProblem</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -742,6 +745,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testRHSProblem</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -953,6 +957,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testBinaryCondOp</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1096,6 +1101,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testBinaryLHSProblem</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1273,6 +1279,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testDiagnosableBranch</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1455,6 +1462,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNonDiagnosableBranchLogical</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1569,6 +1577,7 @@ void testNonDiagnosableBranchArithmetic(int a, int b) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNonDiagnosableBranchArithmetic</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/cxx-for-range.cpp b/clang/test/Analysis/cxx-for-range.cpp index fe73e51410a..6278ba56ffe 100644 --- a/clang/test/Analysis/cxx-for-range.cpp +++ b/clang/test/Analysis/cxx-for-range.cpp @@ -596,6 +596,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLoop</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -821,6 +822,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>get</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1095,6 +1097,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueCollection</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1238,6 +1241,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueCollection</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> @@ -1512,6 +1516,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueIterator</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1655,6 +1660,7 @@ void testLoopErrorInRange() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueIterator</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> diff --git a/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c b/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c index 36d56f1f144..47d4c6013f0 100644 --- a/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c +++ b/clang/test/Analysis/diagnostics/deref-track-symbolic-region.c @@ -305,6 +305,7 @@ void testTrackConstraintBRVisitorIsTrackingTurnedOn(struct S syz, int *pp) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> @@ -642,6 +643,7 @@ void testTrackConstraintBRVisitorIsTrackingTurnedOn(struct S syz, int *pp) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testTrackConstraintBRVisitorIsTrackingTurnedOn</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> diff --git a/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp b/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp index bba15f5e440..e10c7069417 100644 --- a/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp +++ b/clang/test/Analysis/diagnostics/report-issues-within-main-file.cpp @@ -248,6 +248,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>cause_div_by_zero_in_header2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -511,6 +512,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>cause_div_by_zero_in_header3</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -697,6 +699,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>cause_div_by_zero_in_header4</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -937,6 +940,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' (within a call to '~auto_ptr')</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Bad deallocator</string> +// CHECK-NEXT: <key>check_name</key><string>unix.MismatchedDeallocator</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>mainPlusHeader</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1269,6 +1273,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero (within a call to 'cause_div_by_zero_in_header')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>auxInMain</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1489,6 +1494,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>causeDivByZeroInMain</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1743,6 +1749,7 @@ void callInMacroArg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>causeDivByZeroInMain2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> diff --git a/clang/test/Analysis/diagnostics/undef-value-caller.c b/clang/test/Analysis/diagnostics/undef-value-caller.c index da3a13c2b12..c8110179e85 100644 --- a/clang/test/Analysis/diagnostics/undef-value-caller.c +++ b/clang/test/Analysis/diagnostics/undef-value-caller.c @@ -146,6 +146,7 @@ int test_calling_unimportant_callee(int argc, char *argv[]) { // CHECK-NEXT: <key>description</key><string>Undefined or garbage value returned to caller</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Garbage return value</string> +// CHECK-NEXT: <key>check_name</key><string>core.uninitialized.UndefReturn</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_calling_unimportant_callee</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/diagnostics/undef-value-param.c b/clang/test/Analysis/diagnostics/undef-value-param.c index dec0a5ada77..f418b19c244 100644 --- a/clang/test/Analysis/diagnostics/undef-value-param.c +++ b/clang/test/Analysis/diagnostics/undef-value-param.c @@ -435,6 +435,7 @@ double testPassingParentRegionStruct(int x) { // CHECK-NEXT: <key>description</key><string>The left operand of '+' is a garbage value</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Result of operation is garbage or undefined</string> +// CHECK-NEXT: <key>check_name</key><string>core.UndefinedBinaryOperatorResult</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>use</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -752,6 +753,7 @@ double testPassingParentRegionStruct(int x) { // CHECK-NEXT: <key>description</key><string>The right operand of '*' is a garbage value</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Result of operation is garbage or undefined</string> +// CHECK-NEXT: <key>check_name</key><string>core.UndefinedBinaryOperatorResult</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testPassingParentRegionArray</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1166,6 +1168,7 @@ double testPassingParentRegionStruct(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'f1')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testPassingParentRegionStruct</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> diff --git a/clang/test/Analysis/diagnostics/undef-value-param.m b/clang/test/Analysis/diagnostics/undef-value-param.m index b0ce56caa34..5ca08a56adc 100644 --- a/clang/test/Analysis/diagnostics/undef-value-param.m +++ b/clang/test/Analysis/diagnostics/undef-value-param.m @@ -543,6 +543,7 @@ static void CreateRefUndef(SCDynamicStoreRef *storeRef, unsigned x) { // CHECK-NEXT: <key>description</key><string>Null pointer argument in call to CFRelease</string> // CHECK-NEXT: <key>category</key><string>API Misuse (Apple)</string> // CHECK-NEXT: <key>type</key><string>null passed to CF memory management function</string> +// CHECK-NEXT: <key>check_name</key><string>osx.coreFoundation.CFRetainRelease</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -923,6 +924,7 @@ static void CreateRefUndef(SCDynamicStoreRef *storeRef, unsigned x) { // CHECK-NEXT: <key>description</key><string>Function call argument is an uninitialized value</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Uninitialized argument value</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test2</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> diff --git a/clang/test/Analysis/edges-new.mm b/clang/test/Analysis/edges-new.mm index 8019c15c1b2..2c39dfdae3b 100644 --- a/clang/test/Analysis/edges-new.mm +++ b/clang/test/Analysis/edges-new.mm @@ -725,6 +725,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_init</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -902,6 +903,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1142,6 +1144,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'q')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1319,6 +1322,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1559,6 +1563,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1736,6 +1741,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_field</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2073,6 +2079,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_assumptions</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -2342,6 +2349,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_cond_assign</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -2601,6 +2609,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'value'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar8331641</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -2778,6 +2787,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_objc_fast_enumeration</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2824,6 +2834,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Value stored to 'x' is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead increment</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_objc_fast_enumeration_2</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -3030,6 +3041,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Assigned value is garbage or undefined</string> +// CHECK-NEXT: <key>check_name</key><string>core.uninitialized.Assign</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_objc_fast_enumeration_2</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -3464,6 +3476,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar12280665</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -3767,6 +3780,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_for</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -4036,6 +4050,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_while</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -4538,6 +4553,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_foo_2</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> @@ -5035,6 +5051,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -5600,6 +5617,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics_2</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> @@ -6165,6 +6183,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics_3</string> // CHECK-NEXT: <key>issue_hash</key><string>10</string> @@ -6609,6 +6628,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_do_while</string> // CHECK-NEXT: <key>issue_hash</key><string>12</string> @@ -6854,6 +6874,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_logical_and</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -7099,6 +7120,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_logical_or</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -7378,6 +7400,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_logical_or_call</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -7657,6 +7680,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_nested_logicals</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -8072,6 +8096,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_nested_logicals</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -8555,6 +8580,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_deeply_nested_logicals</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -8965,6 +8991,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ternary</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -9239,6 +9266,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testUseless</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -9445,6 +9473,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testFoo</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -9617,6 +9646,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test1_IPA_X</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -10012,6 +10042,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_IPA_Y</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -10232,6 +10263,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>causeDivByZeroInMain</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -10375,6 +10407,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from ivar 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -10484,6 +10517,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Null pointer passed as an argument to a 'nonnull' parameter</string> // CHECK-NEXT: <key>category</key><string>API</string> // CHECK-NEXT: <key>type</key><string>Argument with 'nonnull' attribute passed null</string> +// CHECK-NEXT: <key>check_name</key><string>core.NonNullParamChecker</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>RDar13295437</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -10695,6 +10729,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testCast</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -10872,6 +10907,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -10930,6 +10966,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Value stored to 'foo' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -11058,6 +11095,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'foo'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -11235,6 +11273,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> @@ -11679,6 +11718,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>20</string> @@ -12089,6 +12129,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>26</string> @@ -12562,6 +12603,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>34</string> @@ -13816,6 +13858,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>62</string> @@ -15133,6 +15176,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>67</string> @@ -16547,6 +16591,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>74</string> @@ -18058,6 +18103,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>variousLoops</string> // CHECK-NEXT: <key>issue_hash</key><string>83</string> @@ -18341,6 +18387,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'buf'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>reallocDiagnostics</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -18580,6 +18627,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Bad deallocator</string> +// CHECK-NEXT: <key>check_name</key><string>unix.MismatchedDeallocator</string> // CHECK-NEXT: <key>issue_hash</key><string>0</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -19292,6 +19340,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'foo'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>longLines</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -19435,6 +19484,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testMacroInFunctionDecl</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -19617,6 +19667,7 @@ namespace rdar14960554 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> diff --git a/clang/test/Analysis/inline-plist.c b/clang/test/Analysis/inline-plist.c index bcf15b343ae..8558e8f6ab8 100644 --- a/clang/test/Analysis/inline-plist.c +++ b/clang/test/Analysis/inline-plist.c @@ -289,6 +289,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>foo</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -509,6 +510,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>has_bug</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -860,6 +862,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>triggers_bug</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1080,6 +1083,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> // CHECK-NEXT: <key>line</key><integer>60</integer> @@ -1452,6 +1456,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_block_ret</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1701,6 +1706,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_block_blockvar</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1950,6 +1956,7 @@ void test_block_arg() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_block_arg</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> diff --git a/clang/test/Analysis/inline-unique-reports.c b/clang/test/Analysis/inline-unique-reports.c index 9f33bd4652f..89cff0996b5 100644 --- a/clang/test/Analysis/inline-unique-reports.c +++ b/clang/test/Analysis/inline-unique-reports.c @@ -291,6 +291,7 @@ void test_bug_2() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>bug</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> diff --git a/clang/test/Analysis/inlining/eager-reclamation-path-notes.c b/clang/test/Analysis/inlining/eager-reclamation-path-notes.c index d14aba3d989..f57a3bb6529 100644 --- a/clang/test/Analysis/inlining/eager-reclamation-path-notes.c +++ b/clang/test/Analysis/inlining/eager-reclamation-path-notes.c @@ -318,6 +318,7 @@ void testChainedCalls() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'ptr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>use</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -775,6 +776,7 @@ void testChainedCalls() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'ptr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>use2</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> diff --git a/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp b/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp index 672b3b8b3ef..b02e796345c 100644 --- a/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp +++ b/clang/test/Analysis/inlining/eager-reclamation-path-notes.cpp @@ -372,6 +372,7 @@ int memberCallBaseDisappears() { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>memberCallBaseDisappears</string> // CHECK-NEXT: <key>issue_hash</key><string>19</string> diff --git a/clang/test/Analysis/inlining/path-notes.c b/clang/test/Analysis/inlining/path-notes.c index deb2efe1d80..9b625c88f0b 100644 --- a/clang/test/Analysis/inlining/path-notes.c +++ b/clang/test/Analysis/inlining/path-notes.c @@ -347,6 +347,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testZero</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -524,6 +525,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testCheck</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -764,6 +766,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testInitCheck</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -1004,6 +1007,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testStoreCheck</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -1316,6 +1320,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testReturnZero</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1628,6 +1633,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testReturnZero2</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2003,6 +2009,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testInitZero</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -2378,6 +2385,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testStoreZero</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -2796,6 +2804,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>usePointer</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3045,6 +3054,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testSetFieldToNull</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -3154,6 +3164,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -3331,6 +3342,7 @@ void test4(int **p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test4</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/inlining/path-notes.cpp b/clang/test/Analysis/inlining/path-notes.cpp index 1e230740cf0..30ce8c8c6e5 100644 --- a/clang/test/Analysis/inlining/path-notes.cpp +++ b/clang/test/Analysis/inlining/path-notes.cpp @@ -877,6 +877,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>C++ method</string> // CHECK-NEXT: <key>issue_context</key><string>use</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1165,6 +1166,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>C++ method</string> // CHECK-NEXT: <key>issue_context</key><string>method</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1414,6 +1416,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -1661,6 +1664,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -1942,6 +1946,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -2257,6 +2262,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>C++ method</string> // CHECK-NEXT: <key>issue_context</key><string>operator=</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2608,6 +2614,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>C++ method</string> // CHECK-NEXT: <key>issue_context</key><string>operator=</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2895,6 +2902,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'globalPtr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -3142,6 +3150,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3488,6 +3497,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testRef</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3597,6 +3607,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Returning null reference</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Returning null reference</string> +// CHECK-NEXT: <key>check_name</key><string>core.uninitialized.UndefReturn</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>returnNullReference</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -3962,6 +3973,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'ptr')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> @@ -4166,6 +4178,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'y')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNonPrintableAssignment</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -4275,6 +4288,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4452,6 +4466,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>C++ method</string> // CHECK-NEXT: <key>issue_context</key><string>testGetDerefExprOnMemberExprWithADot</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -4561,6 +4576,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of undefined pointer value</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of undefined pointer value</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testGetDerefExprOnMemberExprWithADot</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4767,6 +4783,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testDeclRefExprToReferenceInGetDerefExpr</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -4987,6 +5004,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>generateNoteOnDefaultArgument</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -5221,6 +5239,7 @@ namespace PR17746 { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> diff --git a/clang/test/Analysis/inlining/path-notes.m b/clang/test/Analysis/inlining/path-notes.m index 23040386e4d..4a5d2ae2317 100644 --- a/clang/test/Analysis/inlining/path-notes.m +++ b/clang/test/Analysis/inlining/path-notes.m @@ -575,6 +575,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testReturnZeroIfNil</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -882,6 +883,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testDispatchSyncInlining</string> // CHECK-NEXT: <key>issue_hash</key><string>14</string> @@ -1131,6 +1133,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Variable 'x' is uninitialized when captured by block</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>uninitialized variable captured by block</string> +// CHECK-NEXT: <key>check_name</key><string>core.uninitialized.CapturedBlockVariable</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> // CHECK-NEXT: <key>line</key><integer>118</integer> @@ -1445,6 +1448,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNilReceiverHelper</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1622,6 +1626,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Array element cannot be nil</string> // CHECK-NEXT: <key>category</key><string>API Misuse (Apple)</string> // CHECK-NEXT: <key>type</key><string>nil argument</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.NilArg</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testCreateArrayLiteral</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2017,6 +2022,7 @@ void testNullDereferenceInDispatch() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testAutoreleaseTakesEffectInDispatch</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> diff --git a/clang/test/Analysis/malloc-plist.c b/clang/test/Analysis/malloc-plist.c index 0cbf9725b68..4ac6cec0530 100644 --- a/clang/test/Analysis/malloc-plist.c +++ b/clang/test/Analysis/malloc-plist.c @@ -408,6 +408,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'p'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>diagnosticTest</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -570,6 +571,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'A'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>myArrayAllocation</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -955,6 +957,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'buf'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>reallocDiagnostics</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1354,6 +1357,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'buf'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_wrapper</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1874,6 +1878,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Use of memory after it is freed</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Use-after-free</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_double_action_call</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2433,6 +2438,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'buf'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>reallocIntra</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2701,6 +2707,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'v'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>use_ret</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -2863,6 +2870,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'm'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>LeakedSymbol</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -3068,6 +3076,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak1</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3273,6 +3282,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak2</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3575,6 +3585,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak3</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3877,6 +3888,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak4</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -4082,6 +4094,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak5</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -4287,6 +4300,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>function_with_leak6</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -4521,6 +4535,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential memory leak</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>use_function_with_leak7</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -4755,6 +4770,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential memory leak</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testOnlyRefferToVisibleVariables</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -5023,6 +5039,7 @@ void testMyMalloc() { // CHECK-NEXT: <key>description</key><string>Potential memory leak</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testMyMalloc</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> diff --git a/clang/test/Analysis/method-call-path-notes.cpp b/clang/test/Analysis/method-call-path-notes.cpp index 20348d58893..bb6964d2524 100644 --- a/clang/test/Analysis/method-call-path-notes.cpp +++ b/clang/test/Analysis/method-call-path-notes.cpp @@ -143,6 +143,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is uninitialized</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is uninitialized</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ic</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -252,6 +253,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ic_null</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -395,6 +397,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ic_set_to_null</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -538,6 +541,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ic_null</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -647,6 +651,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_ic_member_ptr</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -790,6 +795,7 @@ void test_cast(const TestInstanceCall *p) { // CHECK-NEXT: <key>description</key><string>Called C++ object pointer is null</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Called C++ object pointer is null</string> +// CHECK-NEXT: <key>check_name</key><string>core.CallAndMessage</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_cast</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> diff --git a/clang/test/Analysis/model-file.cpp b/clang/test/Analysis/model-file.cpp index 24d6e9312da..2ad84eacbed 100644 --- a/clang/test/Analysis/model-file.cpp +++ b/clang/test/Analysis/model-file.cpp @@ -275,6 +275,7 @@ int main() { // CHECK-NEXT: <key>description</key><string>Division by zero</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Division by zero</string> +// CHECK-NEXT: <key>check_name</key><string>core.DivideZero</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>main</string> // CHECK-NEXT: <key>issue_hash</key><string>15</string> diff --git a/clang/test/Analysis/null-deref-path-notes.m b/clang/test/Analysis/null-deref-path-notes.m index 60576948361..da49eaaf92f 100644 --- a/clang/test/Analysis/null-deref-path-notes.m +++ b/clang/test/Analysis/null-deref-path-notes.m @@ -283,6 +283,7 @@ void repeatedStores(int coin) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'x')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNull</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -508,6 +509,7 @@ void repeatedStores(int coin) { // CHECK-NEXT: <key>description</key><string>Access to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>initWithID:</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -782,6 +784,7 @@ void repeatedStores(int coin) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>repeatedStores</string> // CHECK-NEXT: <key>issue_hash</key><string>11</string> diff --git a/clang/test/Analysis/objc-arc.m b/clang/test/Analysis/objc-arc.m index 92432b1ea80..e4a4e464200 100644 --- a/clang/test/Analysis/objc-arc.m +++ b/clang/test/Analysis/objc-arc.m @@ -366,6 +366,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_working</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -528,6 +529,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'date'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_cf_leak</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -586,6 +588,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'x' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar9424882</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -644,6 +647,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'obj1' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -702,6 +706,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'obj4' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -760,6 +765,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'obj5' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -818,6 +824,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'obj6' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -995,6 +1002,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'obj5'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -1123,6 +1131,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'obj6'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>from_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -1181,6 +1190,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'cf1' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>to_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1239,6 +1249,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'cf2' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>to_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1297,6 +1308,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'cf3' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>to_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1355,6 +1367,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Value stored to 'cf4' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>to_cf</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1498,6 +1511,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'date'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_objc_unretainedObject</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1796,6 +1810,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_objc_arrays</string> // CHECK-NEXT: <key>issue_hash</key><string>24</string> @@ -1965,6 +1980,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'o'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar11059275_positive</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2079,6 +2095,7 @@ id rdar14061675() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar14061675</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> diff --git a/clang/test/Analysis/plist-macros.cpp b/clang/test/Analysis/plist-macros.cpp index 58df5694bed..64cef2534fb 100644 --- a/clang/test/Analysis/plist-macros.cpp +++ b/clang/test/Analysis/plist-macros.cpp @@ -220,6 +220,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Memory allocated by malloc() should be deallocated by free(), not 'delete'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Bad deallocator</string> +// CHECK-NEXT: <key>check_name</key><string>unix.MismatchedDeallocator</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>noteOnMacro</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -314,6 +315,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Potential leak of memory pointed to by 'x'</string> // CHECK-NEXT: <key>category</key><string>Memory Error</string> // CHECK-NEXT: <key>type</key><string>Memory leak</string> +// CHECK-NEXT: <key>check_name</key><string>unix.Malloc</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>macroIsFirstInFunction</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -559,6 +561,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>macroInExpression</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -804,6 +807,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>macroInExpressionNoNote</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1015,6 +1019,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>macroWithArgInExpression</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1158,6 +1163,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>useMultiNoteMacroWithError</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1364,6 +1370,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>useMultiNote</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1584,6 +1591,7 @@ void test2(int *p) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>null_deref</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/plist-output-alternate.m b/clang/test/Analysis/plist-output-alternate.m index ea5ace63637..45f0feb9ef1 100644 --- a/clang/test/Analysis/plist-output-alternate.m +++ b/clang/test/Analysis/plist-output-alternate.m @@ -158,6 +158,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_init</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -301,6 +302,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -507,6 +509,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'q')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -684,6 +687,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -890,6 +894,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1067,6 +1072,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_field</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1360,6 +1366,7 @@ void rdar8331641(int x) { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'value'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar8331641</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> diff --git a/clang/test/Analysis/plist-output.m b/clang/test/Analysis/plist-output.m index f2823a06056..4b4b8009896 100644 --- a/clang/test/Analysis/plist-output.m +++ b/clang/test/Analysis/plist-output.m @@ -295,6 +295,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_init</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -438,6 +439,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -644,6 +646,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'q')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_assign_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -821,6 +824,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1027,6 +1031,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_cond_transitive</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1204,6 +1209,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from field 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_null_field</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1507,6 +1513,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_assumptions</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -1776,6 +1783,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_cond_assign</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -1919,6 +1927,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1977,6 +1986,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Value stored to 'foo' during its initialization is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead initialization</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -2139,6 +2149,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'foo'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test2</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -2447,6 +2458,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>rdar12280665</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -2750,6 +2762,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_for</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -3053,6 +3066,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_while</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -3429,6 +3443,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>radar12322528_foo_2</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -3868,6 +3883,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -4341,6 +4357,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics_2</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -4814,6 +4831,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_diagnostics_3</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -4860,6 +4878,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Value stored to 'x' is never read</string> // CHECK-NEXT: <key>category</key><string>Dead store</string> // CHECK-NEXT: <key>type</key><string>Dead increment</string> +// CHECK-NEXT: <key>check_name</key><string>deadcode.DeadStores</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_fast_enumeration</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -5066,6 +5085,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Assigned value is garbage or undefined</string> +// CHECK-NEXT: <key>check_name</key><string>core.uninitialized.Assign</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_loop_fast_enumeration</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -5175,6 +5195,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from ivar 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -5284,6 +5305,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Null pointer passed as an argument to a 'nonnull' parameter</string> // CHECK-NEXT: <key>category</key><string>API</string> // CHECK-NEXT: <key>type</key><string>Argument with 'nonnull' attribute passed null</string> +// CHECK-NEXT: <key>check_name</key><string>core.NonNullParamChecker</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>RDar13295437</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -5524,6 +5546,7 @@ int testFoo(Foo *x) { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testFoo</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> diff --git a/clang/test/Analysis/retain-release-path-notes-gc.m b/clang/test/Analysis/retain-release-path-notes-gc.m index 40592f008b4..aa783b56ef7 100644 --- a/clang/test/Analysis/retain-release-path-notes-gc.m +++ b/clang/test/Analysis/retain-release-path-notes-gc.m @@ -208,6 +208,7 @@ void retainReleaseIgnored () { // CHECK-NEXT: <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of object when using garbage collection</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>creationViaCFCreate</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -651,6 +652,7 @@ void retainReleaseIgnored () { // CHECK-NEXT: <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of object when using garbage collection</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>makeCollectable</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1019,6 +1021,7 @@ void retainReleaseIgnored () { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>retainReleaseIgnored</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -1203,6 +1206,7 @@ void retainReleaseIgnored () { // CHECK-NEXT: <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'object'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of returned object when using garbage collection</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>getViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1387,6 +1391,7 @@ void retainReleaseIgnored () { // CHECK-NEXT: <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'object'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of returned object when using garbage collection</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>copyViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> diff --git a/clang/test/Analysis/retain-release-path-notes.m b/clang/test/Analysis/retain-release-path-notes.m index e70f6ea9fa1..23935b9d1d3 100644 --- a/clang/test/Analysis/retain-release-path-notes.m +++ b/clang/test/Analysis/retain-release-path-notes.m @@ -464,6 +464,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>creationViaAlloc</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -607,6 +608,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>creationViaCFCreate</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -975,6 +977,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>acquisitionViaMethod</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1193,6 +1196,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>acquisitionViaProperty</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1411,6 +1415,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>acquisitionViaCFFunction</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1629,6 +1634,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Reference-counted object is used after it is released</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Use-after-release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>explicitDealloc</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -1847,6 +1853,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Reference-counted object is used after it is released</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Use-after-release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>implicitDealloc</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2140,6 +2147,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>overAutorelease</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -2358,6 +2366,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>autoreleaseUnowned</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -2651,6 +2660,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'leaked'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>makeCollectableIgnored</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -2835,6 +2845,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Method should return an owned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>CFCopyRuleViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -3019,6 +3030,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'object'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of returned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>CFGetRuleViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3203,6 +3215,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Method should return an owned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>copyViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -3387,6 +3400,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Method should return an owned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>copyViolationIndexedSubscript</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -3571,6 +3585,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Method should return an owned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>copyViolationKeyedSubscript</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -3755,6 +3770,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object stored into 'result'</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak of returned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>getViolation</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -3973,6 +3989,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Method should return an owned object</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>copyAutorelease</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -4116,6 +4133,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testNumericLiteral</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4259,6 +4277,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testBoxedInt</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4402,6 +4421,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testBoxedString</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4545,6 +4565,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testArray</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -4688,6 +4709,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>testDictionary</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -5068,6 +5090,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -5419,6 +5442,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Potential leak of an object</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Leak</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>test</string> // CHECK-NEXT: <key>issue_hash</key><string>8</string> @@ -5712,6 +5736,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>CFOverAutorelease</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -5930,6 +5955,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>CFAutoreleaseUnowned</string> // CHECK-NEXT: <key>issue_hash</key><string>3</string> @@ -6223,6 +6249,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>CFAutoreleaseUnownedMixed</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -6516,6 +6543,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Bad release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>testOverreleaseUnownedIvar</string> // CHECK-NEXT: <key>issue_hash</key><string>4</string> @@ -6884,6 +6912,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Reference-counted object is used after it is released</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Use-after-release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>testOverreleaseOwnedIvarUse</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -7252,6 +7281,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Reference-counted object is used after it is released</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Use-after-release</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>testOverreleaseIvarOnlyUse</string> // CHECK-NEXT: <key>issue_hash</key><string>5</string> @@ -7680,6 +7710,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>testOverreleaseOwnedIvarAutorelease</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> @@ -8108,6 +8139,7 @@ void CFAutoreleaseUnownedMixed() { // CHECK-NEXT: <key>description</key><string>Object autoreleased too many times</string> // CHECK-NEXT: <key>category</key><string>Memory (Core Foundation/Objective-C)</string> // CHECK-NEXT: <key>type</key><string>Object autoreleased too many times</string> +// CHECK-NEXT: <key>check_name</key><string>osx.cocoa.RetainCount</string> // CHECK-NEXT: <key>issue_context_kind</key><string>Objective-C method</string> // CHECK-NEXT: <key>issue_context</key><string>testOverreleaseIvarOnlyAutorelease</string> // CHECK-NEXT: <key>issue_hash</key><string>7</string> diff --git a/clang/test/Analysis/unix-fns.c b/clang/test/Analysis/unix-fns.c index dad03fac70b..d591e6b9bc2 100644 --- a/clang/test/Analysis/unix-fns.c +++ b/clang/test/Analysis/unix-fns.c @@ -406,6 +406,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'open' requires a third argument when the 'O_CREAT' flag is set</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Improper use of 'open'</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_open</string> // CHECK-NEXT: <key>issue_hash</key><string>6</string> @@ -554,6 +555,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'dispatch_once' uses the local variable 'pred' for the predicate value. Using such transient memory for the predicate is potentially dangerous. Perhaps you intended to declare the variable as 'static'?</string> // CHECK-NEXT: <key>category</key><string>API Misuse (Apple)</string> // CHECK-NEXT: <key>type</key><string>Improper use of 'dispatch_once'</string> +// CHECK-NEXT: <key>check_name</key><string>osx.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_dispatch_once</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -634,6 +636,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'pthread_once' uses the local variable 'pred' for the "control" value. Using such transient memory for the control value is potentially dangerous. Perhaps you intended to declare the variable as 'static'?</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Improper use of 'pthread_once'</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_pthread_once</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -714,6 +717,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'malloc' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>pr2899</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -794,6 +798,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'calloc' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_calloc</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -874,6 +879,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'calloc' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_calloc2</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -954,6 +960,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'realloc' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_realloc</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1034,6 +1041,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'reallocf' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_reallocf</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1114,6 +1122,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'alloca' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_alloca</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1194,6 +1203,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'alloca' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_builtin_alloca</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1274,6 +1284,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'valloc' has an allocation size of 0 bytes</string> // CHECK-NEXT: <key>category</key><string>Unix API</string> // CHECK-NEXT: <key>type</key><string>Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)</string> +// CHECK-NEXT: <key>check_name</key><string>unix.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_valloc</string> // CHECK-NEXT: <key>issue_hash</key><string>1</string> @@ -1354,6 +1365,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Call to 'dispatch_once' uses the local variable 'pred' for the predicate value. Using such transient memory for the predicate is potentially dangerous. Perhaps you intended to declare the variable as 'static'?</string> // CHECK-NEXT: <key>category</key><string>API Misuse (Apple)</string> // CHECK-NEXT: <key>type</key><string>Improper use of 'dispatch_once'</string> +// CHECK-NEXT: <key>check_name</key><string>osx.API</string> // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> // CHECK-NEXT: <key>issue_context</key><string>test_dispatch_once_in_macro</string> // CHECK-NEXT: <key>issue_hash</key><string>2</string> @@ -1763,6 +1775,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> // CHECK-NEXT: <key>line</key><integer>192</integer> @@ -2149,6 +2162,7 @@ void test_inline_dispatch_once() { // CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK-NEXT: <key>category</key><string>Logic error</string> // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> +// CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> // CHECK-NEXT: <key>location</key> // CHECK-NEXT: <dict> // CHECK-NEXT: <key>line</key><integer>202</integer> |