From e5cf1471dcca36eb827e6ebd0e154a1c7b52335d Mon Sep 17 00:00:00 2001 From: Jess Valarezo Date: Sun, 13 Aug 2017 19:00:28 -0700 Subject: [PATCH] metadata: container spec nil check Prevent panic from Marshal on a nil container spec Signed-off-by: Jess Valarezo --- metadata/containers.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/metadata/containers.go b/metadata/containers.go index 6061cd48f..37c0653a2 100644 --- a/metadata/containers.go +++ b/metadata/containers.go @@ -262,14 +262,19 @@ func writeContainer(bkt *bolt.Bucket, container *containers.Container) error { return err } - spec, err := container.Spec.Marshal() - if err != nil { - return err + if container.Spec != nil { + spec, err := container.Spec.Marshal() + if err != nil { + return err + } + + if err := bkt.Put(bucketKeySpec, spec); err != nil { + return err + } } for _, v := range [][2][]byte{ {bucketKeyImage, []byte(container.Image)}, - {bucketKeySpec, spec}, {bucketKeyRootFS, []byte(container.RootFS)}, } { if err := bkt.Put(v[0], v[1]); err != nil {