From 13fa4eadbbefab19450937968efc87e84b9041f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kl=C3=B6tzke?= Date: Fri, 3 Mar 2023 16:33:06 +0100 Subject: [PATCH] Fix domain GetVcpus() A domain might not be running, thus returning zero vCPUs. Bail out early because a zero length array cannot be passed to the underlying libvirt function. --- vendor/libvirt.org/go/libvirt/domain.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vendor/libvirt.org/go/libvirt/domain.go b/vendor/libvirt.org/go/libvirt/domain.go index 2d7a462..b515c9c 100644 --- a/vendor/libvirt.org/go/libvirt/domain.go +++ b/vendor/libvirt.org/go/libvirt/domain.go @@ -1929,6 +1929,9 @@ func (d *Domain) GetVcpus() ([]DomainVcpuInfo, error) { } nvcpus := int(cdominfo.nrVirtCpu) + if nvcpus == 0 { + return []DomainVcpuInfo{}, nil + } npcpus := int(cnodeinfo.nodes * cnodeinfo.sockets * cnodeinfo.cores * cnodeinfo.threads) maplen := ((npcpus + 7) / 8) ccpumaps := make([]C.uchar, maplen*nvcpus)