Skip to content

Commit

Permalink
Fix the panic caused by invalid memory address or nil pointer derefer…
Browse files Browse the repository at this point in the history
…ence when an unexpected NSX response is received.

Signed-off-by: Wenqi Qiu <[email protected]>
  • Loading branch information
wenqiq committed Jul 29, 2024
1 parent 5390f3c commit 111ba73
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions pkg/nsx/services/subnet/subnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ func (service *SubnetService) GetSubnetStatus(subnet *model.VpcSubnet) ([]model.
return nil, err
}
if statusList.Results[0].NetworkAddress == nil || statusList.Results[0].GatewayAddress == nil {
err := errors.New("invalid status result")
log.Error(err, fmt.Sprintf("no subnet status found: %+v", statusList))
err := fmt.Errorf("invalid status result: %+v", statusList.Results[0])
log.Error(err, "invalid subnet status")
return nil, err
}
return statusList.Results, nil
Expand Down
2 changes: 1 addition & 1 deletion pkg/nsx/services/subnetport/subnetport.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ func (service *SubnetPortService) GetGatewayPrefixForSubnetPort(obj *v1alpha1.Su
}
status := statusList.Results[0]
if *status.Status != model.VpcSubnetStatus_STATUS_SUCCESS || status.GatewayAddress == nil {
err := errors.New(fmt.Sprintf("invalid status result: %v", status))
err := fmt.Errorf("invalid status result: %+v", status)
log.Error(err, "invalid subnet status")
return "", -1, err
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/nsx/services/vpc/vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -488,8 +488,8 @@ func (s *VPCService) GetAVISubnetInfo(vpc model.Vpc) (string, string, error) {
}

if statusList.Results[0].NetworkAddress == nil {
err := errors.New("invalid status result")
log.Error(err, fmt.Sprintf("no subnet status found: %+v", statusList))
err := fmt.Errorf("invalid status result: %+v", statusList.Results[0])
log.Error(err, "invalid subnet status")
return "", "", err
}

Expand Down

0 comments on commit 111ba73

Please sign in to comment.