diff --git a/image/store.go b/image/store.go index 0ad87f5c61..20a6d49257 100644 --- a/image/store.go +++ b/image/store.go @@ -1,7 +1,6 @@ package image // import "github.com/docker/docker/image" import ( - "encoding/json" "fmt" "sync" "time" @@ -118,8 +117,8 @@ func (is *store) restore() error { } func (is *store) Create(config []byte) (ID, error) { - var img Image - err := json.Unmarshal(config, &img) + var img *Image + img, err := NewFromJSON(config) if err != nil { return "", err } diff --git a/image/store_test.go b/image/store_test.go index f159cb3830..970b8d8ab6 100644 --- a/image/store_test.go +++ b/image/store_test.go @@ -10,6 +10,14 @@ import ( "gotest.tools/v3/assert/cmp" ) +func TestCreate(t *testing.T) { + is, cleanup := defaultImageStore(t) + defer cleanup() + + _, err := is.Create([]byte(`{}`)) + assert.Check(t, cmp.Error(err, "invalid image JSON, no RootFS key")) +} + func TestRestore(t *testing.T) { fs, cleanup := defaultFSStoreBackend(t) defer cleanup()