blob: 4b581b2e0f9510803478f20338864df2a51d4652 [file] [log] [blame]
{
"$schema": "http://json.schemastore.org/sarif-2.0.0-csd.2.beta.2018-11-28",
"runs": [
{
"files": [
{
"fileLocation": {
"uri": "file:sarif-multi-diagnostic-test.c"
},
"length": 665,
"mimeType": "text/plain",
"roles": [
"resultFile"
]
}
],
"resources": {
"rules": [
{
"fullDescription": {
"text": "Mark tainted symbols as such."
},
"id": "debug.TaintTest",
"name": {
"text": "debug.TaintTest"
}
},
{
"fullDescription": {
"text": "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)"
},
"id": "core.CallAndMessage",
"name": {
"text": "core.CallAndMessage"
}
},
{
"fullDescription": {
"text": "Check for division by zero"
},
"id": "core.DivideZero",
"name": {
"text": "core.DivideZero"
}
}
]
},
"results": [
{
"codeFlows": [
{
"threadFlows": [
{
"locations": [
{
"importance": "essential",
"location": {
"message": {
"text": "Calling 'f'"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 5,
"endLine": 24,
"startColumn": 3,
"startLine": 24
}
}
}
},
{
"importance": "essential",
"location": {
"message": {
"text": "tainted"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 17,
"endLine": 9,
"startColumn": 11,
"startLine": 9
}
}
}
}
]
}
]
}
],
"locations": [
{
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 17,
"endLine": 9,
"startColumn": 11,
"startLine": 9
}
}
}
],
"message": {
"text": "tainted"
},
"ruleId": "debug.TaintTest",
"ruleIndex": 0
},
{
"codeFlows": [
{
"threadFlows": [
{
"locations": [
{
"importance": "essential",
"location": {
"message": {
"text": "Calling 'g'"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 5,
"endLine": 25,
"startColumn": 3,
"startLine": 25
}
}
}
},
{
"importance": "essential",
"location": {
"message": {
"text": "'fp' declared without an initial value"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 10,
"endLine": 13,
"startColumn": 3,
"startLine": 13
}
}
}
},
{
"importance": "essential",
"location": {
"message": {
"text": "Called function pointer is an uninitialized pointer value"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 8,
"endLine": 14,
"startColumn": 3,
"startLine": 14
}
}
}
}
]
}
]
}
],
"locations": [
{
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 8,
"endLine": 14,
"startColumn": 3,
"startLine": 14
}
}
}
],
"message": {
"text": "Called function pointer is an uninitialized pointer value"
},
"ruleId": "core.CallAndMessage",
"ruleIndex": 1
},
{
"codeFlows": [
{
"threadFlows": [
{
"locations": [
{
"importance": "important",
"location": {
"message": {
"text": "Assuming 'i' is equal to 0"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 12,
"endLine": 18,
"startColumn": 7,
"startLine": 18
}
}
}
},
{
"importance": "unimportant",
"location": {
"message": {
"text": "Taking true branch"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 3,
"endLine": 18,
"startColumn": 3,
"startLine": 18
}
}
}
},
{
"importance": "essential",
"location": {
"message": {
"text": "Division by zero"
},
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 14,
"endLine": 19,
"startColumn": 14,
"startLine": 19
}
}
}
}
]
}
]
}
],
"locations": [
{
"physicalLocation": {
"fileLocation": {
"fileIndex": 0,
"uri": "file:sarif-multi-diagnostic-test.c"
},
"region": {
"endColumn": 14,
"endLine": 19,
"startColumn": 14,
"startLine": 19
}
}
}
],
"message": {
"text": "Division by zero"
},
"ruleId": "core.DivideZero",
"ruleIndex": 2
}
],
"tool": {
"fullName": "clang static analyzer",
"language": "en-US",
"name": "clang",
"version": "clang version 8.0.0 (trunk 345822) (llvm/trunk 345824)"
}
}
],
"version": "2.0.0-csd.2.beta.2018-11-28"
}