diff options
author | Matthew Heon <matthew.heon@pm.me> | 2019-06-23 17:03:06 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2019-06-24 09:26:03 -0400 |
commit | de75b1a2778fa08d50ecf573b3259b32b68912d7 (patch) | |
tree | 80c54e3505aae05db2c1acf4468fcc024ff6a3f5 | |
parent | b611ac1c50184827fa0be04a8de800e09b802705 (diff) | |
download | podman-de75b1a2778fa08d50ecf573b3259b32b68912d7.tar.gz podman-de75b1a2778fa08d50ecf573b3259b32b68912d7.tar.bz2 podman-de75b1a2778fa08d50ecf573b3259b32b68912d7.zip |
Fix a segfault in 'podman ps --sync'
We weren't properly populating the container's OCI Runtime in
Batch(), causing segfaults on attempting to access it. Add a test
to make sure we actually catch cases like this in the future.
Fixes #3411
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
-rw-r--r-- | libpod/container_api.go | 1 | ||||
-rw-r--r-- | test/e2e/ps_test.go | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go index ed3e08dc7..370e3e5d9 100644 --- a/libpod/container_api.go +++ b/libpod/container_api.go @@ -627,6 +627,7 @@ func (c *Container) Batch(batchFunc func(*Container) error) error { newCtr.config = c.config newCtr.state = c.state newCtr.runtime = c.runtime + newCtr.ociRuntime = c.ociRuntime newCtr.lock = c.lock newCtr.valid = true diff --git a/test/e2e/ps_test.go b/test/e2e/ps_test.go index b0a28501a..2b86f663f 100644 --- a/test/e2e/ps_test.go +++ b/test/e2e/ps_test.go @@ -320,4 +320,16 @@ var _ = Describe("Podman ps", func() { session.WaitWithDefaultTimeout() Expect(session.OutputToString()).To(ContainSubstring("0.0.0.0:1000-1006")) }) + + It("podman ps sync flag", func() { + session := podmanTest.RunTopContainer("") + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + fullCid := session.OutputToString() + + result := podmanTest.Podman([]string{"ps", "-q", "--no-trunc", "--sync"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + Expect(result.OutputToStringArray()[0]).To(Equal(fullCid)) + }) }) |