diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 4291bc70a4b48543e7f0a226be7bd1f9d3b65510..70d2781ef7957cc83f0b6c432b979aab72c96130 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5547,7 +5547,12 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } - if (virFileReadLimFD(fd, header.xml_len, &xml) != header.xml_len) { + if (VIR_ALLOC_N(xml, header.xml_len) < 0) { + virReportOOMError(); + goto cleanup; + } + + if (saferead(fd, xml, header.xml_len) != header.xml_len) { qemuReportError(VIR_ERR_OPERATION_FAILED, "%s", _("failed to read XML")); goto cleanup;