diff options
author | Paul Holzinger <paul.holzinger@web.de> | 2021-04-16 10:42:08 +0200 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2021-04-16 11:11:26 -0400 |
commit | c28695b9253569683c6e0e5f25a04c0701100b0a (patch) | |
tree | fbce19a8bf2f8daed18a88c6412533020ae630ee | |
parent | 2816c55f3a7138a04837694afa8bf0a515fe00ac (diff) | |
download | podman-c28695b9253569683c6e0e5f25a04c0701100b0a.tar.gz podman-c28695b9253569683c6e0e5f25a04c0701100b0a.tar.bz2 podman-c28695b9253569683c6e0e5f25a04c0701100b0a.zip |
Fix possible panic in libpod/image/prune.go
podman image prune paniced locally for me. The error handling was not
done correctly and we could end up with a nil pointer dereference.
[NO TESTS NEEDED] I have no idea how I could force an error in img.Size().
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
-rw-r--r-- | libpod/image/prune.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libpod/image/prune.go b/libpod/image/prune.go index 12727901a..0e41fde44 100644 --- a/libpod/image/prune.go +++ b/libpod/image/prune.go @@ -134,10 +134,11 @@ func (ir *Runtime) PruneImages(ctx context.Context, all bool, filter []string) ( } nameOrID := img.ID() s, err := img.Size(ctx) - imgSize := *s + imgSize := uint64(0) if err != nil { logrus.Warnf("Failed to collect image size for: %s, %s", nameOrID, err) - imgSize = 0 + } else { + imgSize = *s } if err := img.Remove(ctx, false); err != nil { if errors.Cause(err) == storage.ErrImageUsedByContainer { |