Skip to content

Commit 6477631

Browse files
committed
writer-json-sarif: write endLine/endColumn unconditionally
... paired with each startLine/startColumn to be compatible with `shellcheck-sarif` and `sarif-fmt`. Resolves: #136 Closes: #167
1 parent f0fcbe9 commit 6477631

7 files changed

+12647
-5690
lines changed

src/lib/writer-json-sarif.cc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,14 @@ static void sarifEncodeLoc(object *pLoc, const Defect &def, unsigned idx)
231231
if (evt.line) {
232232
// line start/end
233233
object reg = {
234-
{ "startLine", evt.line }
234+
{ "startLine", evt.line },
235+
{ "endLine", evt.line + evt.vSize }
235236
};
236-
if (0 < evt.vSize)
237-
reg["endLine"] = evt.line + evt.vSize;
238237

239238
// column start/end
240239
if (evt.column) {
241240
reg["startColumn"] = evt.column;
242-
if (0 < evt.hSize)
243-
reg["endColumn"] = evt.column + evt.hSize;
241+
reg["endColumn"] = evt.column + evt.hSize;
244242
}
245243

246244
locPhy["region"] = std::move(reg);

tests/csgrep/0080-sarif-writer-stdout.txt

Lines changed: 1020 additions & 340 deletions
Large diffs are not rendered by default.

tests/csgrep/0081-sarif-writer-stdout.txt

Lines changed: 8778 additions & 4389 deletions
Large diffs are not rendered by default.

tests/csgrep/0085-sarif-writer-stdout.txt

Lines changed: 110 additions & 44 deletions
Large diffs are not rendered by default.

tests/csgrep/0096-sarif-levels-stdout.txt

Lines changed: 1362 additions & 454 deletions
Large diffs are not rendered by default.

tests/csgrep/0097-sarif-set-tool-stdout.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@
6060
},
6161
"region": {
6262
"startLine": 6,
63-
"startColumn": 1
63+
"endLine": 6,
64+
"startColumn": 1,
65+
"endColumn": 1
6466
}
6567
}
6668
}
@@ -82,7 +84,9 @@
8284
},
8385
"region": {
8486
"startLine": 6,
85-
"startColumn": 1
87+
"endLine": 6,
88+
"startColumn": 1,
89+
"endColumn": 1
8690
}
8791
},
8892
"message": {
@@ -112,7 +116,9 @@
112116
},
113117
"region": {
114118
"startLine": 4,
115-
"startColumn": 7
119+
"endLine": 4,
120+
"startColumn": 7,
121+
"endColumn": 7
116122
}
117123
}
118124
}
@@ -134,7 +140,9 @@
134140
},
135141
"region": {
136142
"startLine": 4,
137-
"startColumn": 7
143+
"endLine": 4,
144+
"startColumn": 7,
145+
"endColumn": 7
138146
}
139147
},
140148
"message": {

tests/csgrep/0109-shellcheck-sarif-cwe-stdout.txt

Lines changed: 1362 additions & 454 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)