From 3fa070ad3811541675d62815bcbe5c8d87dd0052 Mon Sep 17 00:00:00 2001 From: Vilmos Nebehaj Date: Thu, 5 Dec 2019 14:33:59 -0800 Subject: [PATCH] Fix nil pointer dereference in the azure provider PlatformFaultDomain in the VM properties returned by Azure will be nil if the VM is not part of an availability set. Use to.Int32() from the Azure SDK to safely retrieve its value. --- .../src/k8s.io/legacy-cloud-providers/azure/azure_standard.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_standard.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_standard.go index 216a2dc77ea..dab5a568eef 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_standard.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_standard.go @@ -463,7 +463,7 @@ func (as *availabilitySet) GetZoneByNodeName(name string) (cloudprovider.Zone, e failureDomain = as.makeZone(to.String(vm.Location), zoneID) } else { // Availability zone is not used for the node, falling back to fault domain. - failureDomain = strconv.Itoa(int(*vm.VirtualMachineProperties.InstanceView.PlatformFaultDomain)) + failureDomain = strconv.Itoa(int(to.Int32(vm.VirtualMachineProperties.InstanceView.PlatformFaultDomain))) } zone := cloudprovider.Zone{