diff options
author | Guillaume Rose <gurose@redhat.com> | 2021-08-19 16:14:06 +0200 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2021-08-20 11:37:09 -0400 |
commit | a52b6bf23864073c39fda753b8c88a391bfe3555 (patch) | |
tree | b753289c4be786a62861aede3a6a80808a6dc572 | |
parent | b71ef443a4f5539ccdda7a1f635e41f9a5818eb2 (diff) | |
download | podman-a52b6bf23864073c39fda753b8c88a391bfe3555.tar.gz podman-a52b6bf23864073c39fda753b8c88a391bfe3555.tar.bz2 podman-a52b6bf23864073c39fda753b8c88a391bfe3555.zip |
machine: check for file exists instead of listing directory
[NO TESTS NEEDED]
Signed-off-by: Guillaume Rose <gurose@redhat.com>
-rw-r--r-- | pkg/machine/fcos.go | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/pkg/machine/fcos.go b/pkg/machine/fcos.go index 11936aee7..943b9fd3c 100644 --- a/pkg/machine/fcos.go +++ b/pkg/machine/fcos.go @@ -6,6 +6,7 @@ import ( "crypto/sha256" "io/ioutil" url2 "net/url" + "os" "path/filepath" "runtime" "strings" @@ -91,24 +92,16 @@ func UpdateAvailable(d *Download) (bool, error) { // check the sha of the local image if it exists // get the sha of the remote image // == dont bother to pull - files, err := ioutil.ReadDir(filepath.Dir(d.LocalPath)) + if _, err := os.Stat(d.LocalPath); os.IsNotExist(err) { + return false, nil + } + b, err := ioutil.ReadFile(d.LocalPath) if err != nil { return false, err } - for _, file := range files { - if filepath.Base(d.LocalPath) == file.Name() { - b, err := ioutil.ReadFile(d.LocalPath) - if err != nil { - return false, err - } - s := sha256.Sum256(b) - sum := digest.NewDigestFromBytes(digest.SHA256, s[:]) - if sum.Encoded() == d.Sha256sum { - return true, nil - } - } - } - return false, nil + s := sha256.Sum256(b) + sum := digest.NewDigestFromBytes(digest.SHA256, s[:]) + return sum.Encoded() == d.Sha256sum, nil } func getFcosArch() string { |