From 4aa1de656a9068ad1a54e967786f778dc0f5da0f Mon Sep 17 00:00:00 2001 From: Dan Petersen Date: Sat, 14 Mar 2020 12:58:42 +0100 Subject: [PATCH] Fix crash caused by assuming IP addresses are always reported by the QEMU agent --- CHANGELOG.md | 1 + proxmoxtf/resource_virtual_environment_vm.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e4291ad..9ea2bc8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ BUG FIXES: * resource/virtual_environment_container: Fix `network_interface` deletion issue * resource/virtual_environment_vm: Fix `network_device` deletion issue * resource/virtual_environment_vm: Fix slow refresh when VM is stopped and agent is enabled +* resource/virtual_environment_vm: Fix crash caused by assuming IP addresses are always reported by the QEMU agent OTHER: diff --git a/proxmoxtf/resource_virtual_environment_vm.go b/proxmoxtf/resource_virtual_environment_vm.go index a3584277..b5e49b03 100644 --- a/proxmoxtf/resource_virtual_environment_vm.go +++ b/proxmoxtf/resource_virtual_environment_vm.go @@ -2734,12 +2734,14 @@ func resourceVirtualEnvironmentVMReadNetworkValues(d *schema.ResourceData, m int rvIPv4Addresses := []interface{}{} rvIPv6Addresses := []interface{}{} - for _, ip := range *rv.IPAddresses { - switch ip.Type { - case "ipv4": - rvIPv4Addresses = append(rvIPv4Addresses, ip.Address) - case "ipv6": - rvIPv6Addresses = append(rvIPv6Addresses, ip.Address) + if rv.IPAddresses != nil { + for _, ip := range *rv.IPAddresses { + switch ip.Type { + case "ipv4": + rvIPv4Addresses = append(rvIPv4Addresses, ip.Address) + case "ipv6": + rvIPv6Addresses = append(rvIPv6Addresses, ip.Address) + } } }