diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-04-13 01:32:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-13 01:32:37 -0700 |
commit | 852ca40665d7a0b08ee749e08cb46625c9763f35 (patch) | |
tree | 6935833e4449d993c2bd0c99507b47392345a5ae | |
parent | 15723671b3edefd3cac150dc86323aa1f701ef8d (diff) | |
parent | 0a7b5b4e086ee4583b8550d80934dfa5c356ff64 (diff) | |
download | podman-852ca40665d7a0b08ee749e08cb46625c9763f35.tar.gz podman-852ca40665d7a0b08ee749e08cb46625c9763f35.tar.bz2 podman-852ca40665d7a0b08ee749e08cb46625c9763f35.zip |
Merge pull request #2910 from giuseppe/fix-create-2-containers
create: fix segfault if container name already exists
-rw-r--r-- | pkg/adapter/containers.go | 5 | ||||
-rw-r--r-- | test/e2e/create_test.go | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go index d4e8e30d9..2be4793a7 100644 --- a/pkg/adapter/containers.go +++ b/pkg/adapter/containers.go @@ -257,7 +257,10 @@ func (r *LocalRuntime) Log(c *cliconfig.LogsValues, options *libpod.LogOptions) func (r *LocalRuntime) CreateContainer(ctx context.Context, c *cliconfig.CreateValues) (string, error) { results := shared.NewIntermediateLayer(&c.PodmanCommand, false) ctr, _, err := shared.CreateContainer(ctx, &results, r.Runtime) - return ctr.ID(), err + if err != nil { + return "", err + } + return ctr.ID(), nil } // Run a libpod container diff --git a/test/e2e/create_test.go b/test/e2e/create_test.go index 6ed5ad2d8..105cba37c 100644 --- a/test/e2e/create_test.go +++ b/test/e2e/create_test.go @@ -70,6 +70,17 @@ var _ = Describe("Podman create", func() { Expect(podmanTest.NumberOfContainers()).To(Equal(1)) }) + It("podman create using existing name", func() { + session := podmanTest.Podman([]string{"create", "--name=foo", ALPINE, "ls"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(podmanTest.NumberOfContainers()).To(Equal(1)) + + session = podmanTest.Podman([]string{"create", "--name=foo", ALPINE, "ls"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(125)) + }) + It("podman create adds annotation", func() { session := podmanTest.Podman([]string{"create", "--annotation", "HELLO=WORLD", ALPINE, "ls"}) session.WaitWithDefaultTimeout() |