From 29b07456f5849e6fe7f602057b7fdfd402050541 Mon Sep 17 00:00:00 2001 From: Mikhail Mazurskiy Date: Mon, 15 Jun 2020 21:47:08 +1000 Subject: [PATCH] Check errors of the Close call Error from out.Close() was not checked Kubernetes-commit: f9b928f1f13821b65ea4ef783f847993c51fb4dd --- tools/clientcmd/loader.go | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/tools/clientcmd/loader.go b/tools/clientcmd/loader.go index 33ecd870..78bd9ed8 100644 --- a/tools/clientcmd/loader.go +++ b/tools/clientcmd/loader.go @@ -18,7 +18,6 @@ package clientcmd import ( "fmt" - "io" "io/ioutil" "os" "path/filepath" @@ -282,20 +281,15 @@ func (rules *ClientConfigLoadingRules) Migrate() error { return fmt.Errorf("cannot migrate %v to %v because it is a directory", source, destination) } - in, err := os.Open(source) + data, err := ioutil.ReadFile(source) if err != nil { return err } - defer in.Close() - out, err := os.Create(destination) + // destination is created with mode 0666 before umask + err = ioutil.WriteFile(destination, data, 0666) if err != nil { return err } - defer out.Close() - - if _, err = io.Copy(out, in); err != nil { - return err - } } return nil