From 1ae8e81abb1e89623a64b02d6579c8b04db76b03 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Thu, 29 Oct 2020 14:34:52 +1100 Subject: [PATCH] runtime/network: Correct error reporting in listInterfaces() If the upcast from resultingInterfaces to *grpc.Interfaces fails, we return (nil, err), but previous code ensures that err is nil at that point, so we return no error. Forward port of https://github.com/kata-containers/runtime/pull/3033/commits/b86e904c2d13dfd148b3bcf2ad93748e2b45a886 fixes #1206 Signed-off-by: David Gibson --- src/runtime/virtcontainers/kata_agent.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/runtime/virtcontainers/kata_agent.go b/src/runtime/virtcontainers/kata_agent.go index 9f5228373f..89db575385 100644 --- a/src/runtime/virtcontainers/kata_agent.go +++ b/src/runtime/virtcontainers/kata_agent.go @@ -635,10 +635,10 @@ func (k *kataAgent) listInterfaces() ([]*pbTypes.Interface, error) { return nil, err } resultInterfaces, ok := resultingInterfaces.(*grpc.Interfaces) - if ok { - return resultInterfaces.Interfaces, err + if !ok { + return nil, fmt.Errorf("Unexpected type %T for interfaces", resultingInterfaces) } - return nil, err + return resultInterfaces.Interfaces, nil } func (k *kataAgent) listRoutes() ([]*pbTypes.Route, error) {