提交 65aa3e34 编写于 作者: J Ján Tomko

conf: fix leak in virDomainVcpuPinAdd

Fix the leak of vcpupin on failure to allocate cpumask and the leak of
cpumask if we fail to expand vcpupin_list.
上级 a69d7a00
...@@ -11900,26 +11900,25 @@ int virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list, ...@@ -11900,26 +11900,25 @@ int virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list,
/* No existing vcpupin matches vcpu, adding a new one */ /* No existing vcpupin matches vcpu, adding a new one */
if (VIR_ALLOC(vcpupin) < 0) { if (VIR_ALLOC(vcpupin) < 0)
virReportOOMError(); goto no_memory;
return -1;
}
vcpupin->vcpuid = vcpu; vcpupin->vcpuid = vcpu;
vcpupin->cpumask = virBitmapNewData(cpumap, maplen); vcpupin->cpumask = virBitmapNewData(cpumap, maplen);
if (!vcpupin->cpumask) { if (!vcpupin->cpumask)
virReportOOMError(); goto no_memory;
return -1;
}
if (VIR_REALLOC_N(*vcpupin_list, *nvcpupin + 1) < 0) { if (VIR_REALLOC_N(*vcpupin_list, *nvcpupin + 1) < 0)
virReportOOMError(); goto no_memory;
VIR_FREE(vcpupin);
return -1;
}
(*vcpupin_list)[(*nvcpupin)++] = vcpupin; (*vcpupin_list)[(*nvcpupin)++] = vcpupin;
return 0; return 0;
no_memory:
virReportOOMError();
virDomainVcpuPinDefFree(vpcupin);
return -1;
} }
int int
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册