From fcef697a45a9d77c1648f508ec6bffb37ab0ca6f Mon Sep 17 00:00:00 2001 From: Nikolay Gorbatov Date: Fri, 24 Oct 2025 17:25:11 +0400 Subject: [PATCH] kubelet: add nil check for ContainerStatus in GetContainerStatus --- pkg/kubelet/kuberuntime/kuberuntime_manager.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/pkg/kubelet/kuberuntime/kuberuntime_manager.go index 40ab6c448b8..47d30fe0781 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -45,6 +45,7 @@ import ( "k8s.io/component-base/logs/logreduction" internalapi "k8s.io/cri-api/pkg/apis" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1" + remote "k8s.io/cri-client/pkg" crierror "k8s.io/cri-api/pkg/errors" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/api/legacyscheme" @@ -1818,7 +1819,13 @@ func (m *kubeGenericRuntimeManager) GetContainerStatus(ctx context.Context, podU if err != nil { return nil, fmt.Errorf("runtime container status: %w", err) } - return m.convertToKubeContainerStatus(ctx, podUID, resp.GetStatus()), nil + + status := resp.GetStatus() + if status == nil { + return nil, remote.ErrContainerStatusNil + } + + return m.convertToKubeContainerStatus(ctx, podUID, status), nil } // GarbageCollect removes dead containers using the specified container gc policy.