From ae6a52a84e1ba5cb4aad07818d8dc0658915ae41 Mon Sep 17 00:00:00 2001 From: Rakshith R Date: Fri, 9 Apr 2021 10:59:04 +0530 Subject: [PATCH] util: add nil check to default ControllerGetCapabilities() Currently default ControllerGetCapabilities function is being used which throws 'runtime error: invalid memory address or nil pointer dereference' when `--controllerServer=true` is not set in provisioner deployment args. This commit adds a check to prevent it. Fixes: 1925 Signed-off-by: Rakshith R --- internal/csi-common/controllerserver-default.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/csi-common/controllerserver-default.go b/internal/csi-common/controllerserver-default.go index e661bf1dd..6c5d6db36 100644 --- a/internal/csi-common/controllerserver-default.go +++ b/internal/csi-common/controllerserver-default.go @@ -60,7 +60,9 @@ func (cs *DefaultControllerServer) GetCapacity(ctx context.Context, req *csi.Get // Default supports all capabilities. func (cs *DefaultControllerServer) ControllerGetCapabilities(ctx context.Context, req *csi.ControllerGetCapabilitiesRequest) (*csi.ControllerGetCapabilitiesResponse, error) { util.TraceLog(ctx, "Using default ControllerGetCapabilities") - + if cs.Driver == nil { + return nil, status.Error(codes.Unimplemented, "Controller server is not enabled") + } return &csi.ControllerGetCapabilitiesResponse{ Capabilities: cs.Driver.capabilities, }, nil