diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-01-21 04:17:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-21 04:17:25 -0500 |
commit | 845256bdb356bf280347c41de76f5998faa9e24b (patch) | |
tree | ad974769a097dcc7985f88935f03d1734e109d41 | |
parent | 993c072029fb2c3938d3685ca7e38b5eab29c400 (diff) | |
parent | 2947ded7a8fced28fb3478f556194d12433145ad (diff) | |
download | podman-845256bdb356bf280347c41de76f5998faa9e24b.tar.gz podman-845256bdb356bf280347c41de76f5998faa9e24b.tar.bz2 podman-845256bdb356bf280347c41de76f5998faa9e24b.zip |
Merge pull request #12936 from cgwalters/null-history
Don't segfault if an image layer has no creation timestamp
-rw-r--r-- | pkg/domain/infra/abi/images.go | 4 | ||||
-rw-r--r-- | pkg/domain/infra/abi/images_test.go | 17 |
2 files changed, 20 insertions, 1 deletions
diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go index 3adf9b26c..b9c6d3ac7 100644 --- a/pkg/domain/infra/abi/images.go +++ b/pkg/domain/infra/abi/images.go @@ -94,7 +94,9 @@ func (ir *ImageEngine) Prune(ctx context.Context, opts entities.ImagePruneOption func toDomainHistoryLayer(layer *libimage.ImageHistory) entities.ImageHistoryLayer { l := entities.ImageHistoryLayer{} l.ID = layer.ID - l.Created = *layer.Created + if layer.Created != nil { + l.Created = *layer.Created + } l.CreatedBy = layer.CreatedBy copy(l.Tags, layer.Tags) l.Size = layer.Size diff --git a/pkg/domain/infra/abi/images_test.go b/pkg/domain/infra/abi/images_test.go index 20ef1b150..e38b9390d 100644 --- a/pkg/domain/infra/abi/images_test.go +++ b/pkg/domain/infra/abi/images_test.go @@ -1,5 +1,22 @@ package abi +import ( + "testing" + + "github.com/containers/common/libimage" + "github.com/stretchr/testify/assert" +) + +// This is really intended to verify what happens with a +// nil pointer in layer.Created, but we'll just sanity +// check round tripping 42. +func TestToDomainHistoryLayer(t *testing.T) { + var layer libimage.ImageHistory + layer.Size = 42 + newLayer := toDomainHistoryLayer(&layer) + assert.Equal(t, layer.Size, newLayer.Size) +} + // // import ( // "context" |