From 250eb11b9b598cbeac7b9db50d5c8f4035f1f10e Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Fri, 28 Mar 2014 14:24:35 -0700 Subject: [PATCH] go.tools/go/gccgoimporter: backported some changes from godex implementation LGTM=adonovan R=adonovan CC=golang-codereviews https://golang.org/cl/82000043 --- go/gccgoimporter/importer.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/go/gccgoimporter/importer.go b/go/gccgoimporter/importer.go index 33cb37b9..17504e2e 100644 --- a/go/gccgoimporter/importer.go +++ b/go/gccgoimporter/importer.go @@ -48,12 +48,16 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e if err != nil { return } + defer func() { + if err != nil { + f.Close() + } + }() closer = f var magic [4]byte _, err = f.ReadAt(magic[:], 0) if err != nil { - f.Close() return } @@ -65,14 +69,12 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e ef, err := elf.NewFile(f) if err != nil { - f.Close() return } sec := ef.Section(".go_export") if sec == nil { err = fmt.Errorf("%s: .go_export section not found", fpath) - f.Close() return }