From 2b669ed41c9ca2f521472ac81a447cb8b587df08 Mon Sep 17 00:00:00 2001 From: Trajan0x Date: Tue, 16 Aug 2022 00:17:55 +0900 Subject: [PATCH] ficx fork issue ( pantsbuild/pants#10507 ) --- tools/abigen/internal/generate.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/abigen/internal/generate.go b/tools/abigen/internal/generate.go index c1c96f0186..7e42ed8d37 100644 --- a/tools/abigen/internal/generate.go +++ b/tools/abigen/internal/generate.go @@ -156,6 +156,11 @@ func compileSolidity(version string, filePath string, optimizeRuns int) (map[str return nil, fmt.Errorf("could not write to sol tmp file at %s: %w", solFile.Name(), err) } + err = solFile.Close() + if err != nil { + return nil, fmt.Errorf("could not close solidity file handle %s: %w", solFile.Name(), err) + } + defer func() { if err == nil { err = os.Remove(solFile.Name()) @@ -194,6 +199,12 @@ func createRunFile(version string) (runFile *os.File, err error) { if err != nil { return nil, fmt.Errorf("could not create temp file: %w", err) } + + err = runFile.Close() + if err != nil { + return nil, fmt.Errorf("could not close temp file: %w", err) + } + // TODO this should really be done natively. See: https://pkg.go.dev/bitbucket.org/dchapes/mode maybe? //nolint: gosec err = exec.Command("chmod", "+x", runFile.Name()).Run()