{"$schema":"http://json.schemastore.org/sarif-2.1.0-rtm.5","version":"2.1.0","runs":[{"tool":{"driver":{"name":"Infer","informationUri":"https://github.com/facebook/infer","version":"1.3.0","rules":[{"id":"TAINT_ERROR","shortDescription":{"text":"Taint Error"},"helpUri":"https://fbinfer.com/docs/next/all-issue-types#taint_error"}]}},"results":[{"message":{"text":"DataFlowBench benchmark-controlled source-to-sink flow. `hook->arg1` is tainted by value returned from `int ClosureCapturePositive.dfb_source()` with kind `DataFlowBenchSource` and flows to value passed as argument `#0` to `void ClosureCapturePositive.dfb_sink(int)` with kind `DataFlowBenchSink`."},"level":"error","ruleId":"TAINT_ERROR","codeFlows":[{"threadFlows":[{"locations":[{"nestingLevel":0,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":17,"startColumn":1}},"message":{"text":"in call to `Runnable ClosureCapturePositive.capture()`"}}},{"nestingLevel":1,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":11,"startColumn":1}},"message":{"text":"source of the taint here: value returned from `int ClosureCapturePositive.dfb_source()` with kind `DataFlowBenchSource`"}}},{"nestingLevel":0,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":17,"startColumn":1}},"message":{"text":"return from call to `Runnable ClosureCapturePositive.capture()`"}}},{"nestingLevel":0,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":18,"startColumn":1}},"message":{"text":"when calling `void ClosureCapturePositive$Lambda$_2_7.run()` here"}}},{"nestingLevel":1,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":13,"startColumn":1}},"message":{"text":"when calling `void ClosureCapturePositive.access_dataflowbench.taint.ClosureCapturePositive$Lambda$_2_7(int)` here"}}},{"nestingLevel":2,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":13,"startColumn":1}},"message":{"text":"when calling `void ClosureCapturePositive.lambda$capture$0(int)` here"}}},{"nestingLevel":3,"location":{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":13,"startColumn":1}},"message":{"text":"flows to this sink: value passed as argument `#0` to `void ClosureCapturePositive.dfb_sink(int)` with kind `DataFlowBenchSink`"}}}]}]}],"locations":[{"physicalLocation":{"artifactLocation":{"uri":"file:dataflowbench/taint/ClosureCapturePositive.java","uriBaseId":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/infer-java-kernel/attempt-01/tmp/dataflowbench-infer-java/dfb-taint-java-closure-capture-positive/dataflowbench/taint/ClosureCapturePositive.java"},"region":{"startLine":18,"startColumn":1}}}],"fingerprints":{"hash/v1":"e1d5d08b76ebfd3e19deef984fe0ec52","key":"ClosureCapturePositive.java|run|TAINT_ERROR"}}]}]}
