mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 03:21:44 +03:00
libvirt.c: don't let a NULL "cpumaps" argument provoke a NULL-deref
* src/libvirt.c (virDomainGetVcpus): Describe new, stronger requirement on "maplen"s relationship to "cpumaps".
This commit is contained in:
parent
643ee3fa44
commit
d37bca86d0
@ -4753,6 +4753,7 @@ error:
|
||||
* virDomainPinVcpu() API.
|
||||
* @maplen: number of bytes in one cpumap, from 1 up to size of CPU map in
|
||||
* underlying virtualization system (Xen...).
|
||||
* Must be zero when cpumaps is NULL and positive when it is non-NULL.
|
||||
*
|
||||
* Extract information about virtual CPUs of domain, store it in info array
|
||||
* and also in cpumaps if this pointer isn't NULL.
|
||||
@ -4776,7 +4777,11 @@ virDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
goto error;
|
||||
}
|
||||
if (cpumaps != NULL && maplen < 1) {
|
||||
|
||||
/* Ensure that domainGetVcpus (aka remoteDomainGetVcpus) does not
|
||||
try to memcpy anything into a NULL pointer. */
|
||||
if ((cpumaps == NULL && maplen != 0)
|
||||
|| (cpumaps && maplen <= 0)) {
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
goto error;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user