Skip to content

Commit 746a705

Browse files
committed
Flush the file to prevent issues on close
1 parent e20a0dd commit 746a705

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

pkg/cli/cli.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ func WriteToFile(data []byte, path string) (string, error) {
202202
logger.Error("Opening file %s: %v", path, err)
203203
return "", err
204204
}
205+
205206
return writeToFile(data, file)
206207
}
207208

@@ -227,6 +228,11 @@ func writeToFile(data []byte, file *os.File) (string, error) {
227228
return "", err
228229
}
229230

231+
if err = file.Sync(); err != nil {
232+
logger.Error("Output file write failed: %v", err)
233+
return "", err
234+
}
235+
230236
return file.Name(), nil
231237
}
232238

@@ -387,9 +393,7 @@ func Load(path string) (*parser.Result, error) {
387393
return nil, err
388394
}
389395
defer jsonFile.Close() // #nosec
390-
if err != nil {
391-
return nil, err
392-
}
396+
393397
bytes, err := io.ReadAll(jsonFile)
394398
if err != nil {
395399
return nil, err

pkg/fileloader/fileloader.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,23 @@ func Load(path string, reader *bytes.Reader) (*bytes.Reader, bool) {
1818
// Ensure puts reader data into temporary created file.
1919
func Ensure(reader *bytes.Reader) (fileName string) {
2020
file, err := os.CreateTemp("", "")
21-
defer file.Close() // #nosec
2221
if err != nil {
2322
panic(err)
2423
}
2524

25+
defer file.Close() // #nosec
26+
2627
fileName = file.Name()
2728

2829
_, err = reader.WriteTo(file)
2930
if err != nil {
3031
panic(err)
3132
}
3233

34+
if err = file.Sync(); err != nil {
35+
panic(err)
36+
}
37+
3338
return
3439
}
3540

0 commit comments

Comments
 (0)