Skip to content

Commit ea9281e

Browse files
authored
Merge pull request #599 from matthiasfehr/binary-secret-files
Fix: Remove UTF-8 encoding to prevent mangling of binary secrets
2 parents 278be13 + 9692462 commit ea9281e

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/buildx/build.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,16 @@ export class Build {
139139
}
140140

141141
public static resolveSecret(kvp: string, file: boolean): [string, string] {
142-
const [key, _value] = Build.parseSecretKvp(kvp);
143-
let value = _value;
142+
const [key, value] = Build.parseSecretKvp(kvp);
143+
const secretFile = Context.tmpName({tmpdir: Context.tmpDir()});
144144
if (file) {
145145
if (!fs.existsSync(value)) {
146146
throw new Error(`secret file ${value} not found`);
147147
}
148-
value = fs.readFileSync(value, {encoding: 'utf-8'});
148+
fs.copyFileSync(value, secretFile);
149+
} else {
150+
fs.writeFileSync(secretFile, value);
149151
}
150-
const secretFile = Context.tmpName({tmpdir: Context.tmpDir()});
151-
fs.writeFileSync(secretFile, value);
152152
return [key, secretFile];
153153
}
154154

0 commit comments

Comments
 (0)