Merge pull request from GHSA-mcph-m25j-8j63 · tj-actions/changed-files@0102c07 · GitHub
Skip to content

Commit 0102c07

Browse files
authored
Merge pull request from GHSA-mcph-m25j-8j63
* feat: add `safe_output` input enabled by default * fix: migrate README to safe uses of interpolation * fix: README `uses` typo * fix: README examples to account for newlines * fix: README examples missing `safe_output` * fix: remove sanitization of `'` * fix: also sanitize `|&;`
1 parent 089842a commit 0102c07

6 files changed

Lines changed: 110 additions & 29 deletions

File tree

README.md

Lines changed: 69 additions & 15 deletions

action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ inputs:
134134
description: "Escape JSON output."
135135
required: false
136136
default: "true"
137+
safe_output:
138+
description: "Apply sanitization to output filenames before being set as output."
139+
required: false
140+
default: "true"
137141
fetch_depth:
138142
description: "Depth of additional branch history fetched. NOTE: This can be adjusted to resolve errors with insufficient history."
139143
required: false

src/changedFilesOutput.ts

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
4343
writeOutputFiles: inputs.writeOutputFiles,
4444
outputDir: inputs.outputDir,
4545
json: inputs.json,
46-
shouldEscape: inputs.escapeJson
46+
shouldEscape: inputs.escapeJson,
47+
safeOutput: inputs.safeOutput
4748
})
4849
await setOutput({
4950
key: getOutputKey('added_files_count', outputPrefix),
@@ -64,7 +65,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
6465
writeOutputFiles: inputs.writeOutputFiles,
6566
outputDir: inputs.outputDir,
6667
json: inputs.json,
67-
shouldEscape: inputs.escapeJson
68+
shouldEscape: inputs.escapeJson,
69+
safeOutput: inputs.safeOutput
6870
})
6971

7072
await setOutput({
@@ -86,7 +88,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
8688
writeOutputFiles: inputs.writeOutputFiles,
8789
outputDir: inputs.outputDir,
8890
json: inputs.json,
89-
shouldEscape: inputs.escapeJson
91+
shouldEscape: inputs.escapeJson,
92+
safeOutput: inputs.safeOutput
9093
})
9194

9295
await setOutput({
@@ -108,7 +111,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
108111
writeOutputFiles: inputs.writeOutputFiles,
109112
outputDir: inputs.outputDir,
110113
json: inputs.json,
111-
shouldEscape: inputs.escapeJson
114+
shouldEscape: inputs.escapeJson,
115+
safeOutput: inputs.safeOutput
112116
})
113117

114118
await setOutput({
@@ -130,7 +134,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
130134
writeOutputFiles: inputs.writeOutputFiles,
131135
outputDir: inputs.outputDir,
132136
json: inputs.json,
133-
shouldEscape: inputs.escapeJson
137+
shouldEscape: inputs.escapeJson,
138+
safeOutput: inputs.safeOutput
134139
})
135140

136141
await setOutput({
@@ -152,7 +157,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
152157
writeOutputFiles: inputs.writeOutputFiles,
153158
outputDir: inputs.outputDir,
154159
json: inputs.json,
155-
shouldEscape: inputs.escapeJson
160+
shouldEscape: inputs.escapeJson,
161+
safeOutput: inputs.safeOutput
156162
})
157163

158164
await setOutput({
@@ -174,7 +180,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
174180
writeOutputFiles: inputs.writeOutputFiles,
175181
outputDir: inputs.outputDir,
176182
json: inputs.json,
177-
shouldEscape: inputs.escapeJson
183+
shouldEscape: inputs.escapeJson,
184+
safeOutput: inputs.safeOutput
178185
})
179186

180187
await setOutput({
@@ -199,7 +206,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
199206
writeOutputFiles: inputs.writeOutputFiles,
200207
outputDir: inputs.outputDir,
201208
json: inputs.json,
202-
shouldEscape: inputs.escapeJson
209+
shouldEscape: inputs.escapeJson,
210+
safeOutput: inputs.safeOutput
203211
})
204212

205213
await setOutput({
@@ -226,7 +234,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
226234
writeOutputFiles: inputs.writeOutputFiles,
227235
outputDir: inputs.outputDir,
228236
json: inputs.json,
229-
shouldEscape: inputs.escapeJson
237+
shouldEscape: inputs.escapeJson,
238+
safeOutput: inputs.safeOutput
230239
})
231240

232241
await setOutput({
@@ -314,7 +323,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
314323
writeOutputFiles: inputs.writeOutputFiles,
315324
outputDir: inputs.outputDir,
316325
json: inputs.json,
317-
shouldEscape: inputs.escapeJson
326+
shouldEscape: inputs.escapeJson,
327+
safeOutput: inputs.safeOutput
318328
})
319329

320330
await setOutput({
@@ -419,7 +429,8 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
419429
writeOutputFiles: inputs.writeOutputFiles,
420430
outputDir: inputs.outputDir,
421431
json: inputs.json,
422-
shouldEscape: inputs.escapeJson
432+
shouldEscape: inputs.escapeJson,
433+
safeOutput: inputs.safeOutput
423434
})
424435

425436
await setOutput({

src/inputs.ts

Lines changed: 3 additions & 0 deletions

0 commit comments

Comments
 (0)