From d98c3dd9b9805d3223d9e61e62610d123bc34380 Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Thu, 14 May 2015 16:56:07 +0500 Subject: [PATCH] prevent `nil` from being put back to `c.Container` `c.Exists()` is an innocent looking function being in fact a mutating operation: `c.Container` may be `nil` before and hold a looked up value after the call. --- docker/container.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docker/container.go b/docker/container.go index 1813b3fd..f7f2a012 100644 --- a/docker/container.go +++ b/docker/container.go @@ -532,7 +532,6 @@ func (c *Container) start(createOnly, wait bool) *Container { return c.returnErr(err) } - container := c.Container created := false opts, err := c.getCreateOpts(client) @@ -566,15 +565,13 @@ func (c *Container) start(createOnly, wait bool) *Container { return c.returnErr(err) } - container, err = client.CreateContainer(*opts) + c.Container, err = client.CreateContainer(*opts) created = true if err != nil { return c.returnErr(err) } } - c.Container = container - hostConfig := c.Container.HostConfig if created { hostConfig = opts.HostConfig