diff options
author | Paul Holzinger <pholzing@redhat.com> | 2021-10-14 12:56:44 +0200 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2021-10-14 12:56:44 +0200 |
commit | 8cae2978ef1b84708df1f872c2340ec109537996 (patch) | |
tree | 85b7f6a75fa31d0fc6b3ef7adae180947b80594d /cmd | |
parent | 1c156f22678b3f476ea78fa9e22982c66a7e1559 (diff) | |
download | podman-8cae2978ef1b84708df1f872c2340ec109537996.tar.gz podman-8cae2978ef1b84708df1f872c2340ec109537996.tar.bz2 podman-8cae2978ef1b84708df1f872c2340ec109537996.zip |
Fix panic in container create compat api
The bind and tmpfs options can be nil, we have to check that before we
try to use it.
Fixes #11961
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/common/create_opts.go | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cmd/podman/common/create_opts.go b/cmd/podman/common/create_opts.go index 09ac61f2e..50d7c446d 100644 --- a/cmd/podman/common/create_opts.go +++ b/cmd/podman/common/create_opts.go @@ -104,15 +104,18 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, rtc *c addField(&builder, "target", m.Target) addField(&builder, "ro", strconv.FormatBool(m.ReadOnly)) addField(&builder, "consistency", string(m.Consistency)) - // Map any specialized mount options that intersect between *Options and cli options switch m.Type { case mount.TypeBind: - addField(&builder, "bind-propagation", string(m.BindOptions.Propagation)) - addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive)) + if m.BindOptions != nil { + addField(&builder, "bind-propagation", string(m.BindOptions.Propagation)) + addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive)) + } case mount.TypeTmpfs: - addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10)) - addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10)) + if m.TmpfsOptions != nil { + addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10)) + addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10)) + } case mount.TypeVolume: // All current VolumeOpts are handled above // See vendor/github.com/containers/common/pkg/parse/parse.go:ValidateVolumeOpts() |