From 369d86040e82d7940f94a582336bed7ad9a19c6c Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Tue, 6 Sep 2022 11:58:33 +0100 Subject: [PATCH] libpod: Avoid a nil dereference when generating resolv.conf on FreeBSD The code which generates resolv.conf dereferenced c.config.Spec.Linux and this field is not set for FreeBSD containers. [NO NEW TESTS NEEDED] Signed-off-by: Doug Rabson --- libpod/container_internal_common.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libpod/container_internal_common.go b/libpod/container_internal_common.go index f1d3f5e896..62cc578154 100644 --- a/libpod/container_internal_common.go +++ b/libpod/container_internal_common.go @@ -1939,11 +1939,16 @@ func (c *Container) generateResolvConf() error { destPath := filepath.Join(c.state.RunDir, "resolv.conf") + var namespaces []spec.LinuxNamespace + if c.config.Spec.Linux != nil { + namespaces = c.config.Spec.Linux.Namespaces + } + if err := resolvconf.New(&resolvconf.Params{ IPv6Enabled: ipv6, KeepHostServers: keepHostServers, Nameservers: nameservers, - Namespaces: c.config.Spec.Linux.Namespaces, + Namespaces: namespaces, Options: options, Path: destPath, Searches: search,