mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 01:34:11 +03:00
qemu: clean up OOM checks
This commit is contained in:
parent
8e2e47803c
commit
b0b85c454c
1
AUTHORS
1
AUTHORS
@ -182,6 +182,7 @@ Patches have also been contributed by:
|
|||||||
Scott Moser <smoser@ubuntu.com>
|
Scott Moser <smoser@ubuntu.com>
|
||||||
Guannan Ren <gren@redhat.com>
|
Guannan Ren <gren@redhat.com>
|
||||||
John Williams <john.williams@petalogix.com>
|
John Williams <john.williams@petalogix.com>
|
||||||
|
Michael Santos <michael.santos@gmail.com>
|
||||||
|
|
||||||
[....send patches to get your name here....]
|
[....send patches to get your name here....]
|
||||||
|
|
||||||
|
@ -5712,6 +5712,9 @@ qemuParseCommandLineCPU(virDomainDefPtr dom,
|
|||||||
else
|
else
|
||||||
feature = strdup(p);
|
feature = strdup(p);
|
||||||
|
|
||||||
|
if (!feature)
|
||||||
|
goto no_memory;
|
||||||
|
|
||||||
ret = virCPUDefAddFeature(cpu, feature, policy);
|
ret = virCPUDefAddFeature(cpu, feature, policy);
|
||||||
VIR_FREE(feature);
|
VIR_FREE(feature);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
@ -6028,6 +6031,8 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
|
|||||||
if (STREQ(arg, "-cdrom")) {
|
if (STREQ(arg, "-cdrom")) {
|
||||||
disk->device = VIR_DOMAIN_DISK_DEVICE_CDROM;
|
disk->device = VIR_DOMAIN_DISK_DEVICE_CDROM;
|
||||||
disk->dst = strdup("hdc");
|
disk->dst = strdup("hdc");
|
||||||
|
if (!disk->dst)
|
||||||
|
goto no_memory;
|
||||||
disk->readonly = 1;
|
disk->readonly = 1;
|
||||||
} else {
|
} else {
|
||||||
if (STRPREFIX(arg, "-fd")) {
|
if (STRPREFIX(arg, "-fd")) {
|
||||||
@ -6041,8 +6046,12 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
|
|||||||
disk->bus = VIR_DOMAIN_DISK_BUS_SCSI;
|
disk->bus = VIR_DOMAIN_DISK_BUS_SCSI;
|
||||||
}
|
}
|
||||||
disk->dst = strdup(arg + 1);
|
disk->dst = strdup(arg + 1);
|
||||||
|
if (!disk->dst)
|
||||||
|
goto no_memory;
|
||||||
}
|
}
|
||||||
disk->src = strdup(val);
|
disk->src = strdup(val);
|
||||||
|
if (!disk->src)
|
||||||
|
goto no_memory;
|
||||||
|
|
||||||
if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK) {
|
if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK) {
|
||||||
char *host, *port;
|
char *host, *port;
|
||||||
@ -6058,17 +6067,14 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
*port++ = '\0';
|
*port++ = '\0';
|
||||||
if (VIR_ALLOC(disk->hosts) < 0) {
|
if (VIR_ALLOC(disk->hosts) < 0)
|
||||||
virReportOOMError();
|
goto no_memory;
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
disk->nhosts = 1;
|
disk->nhosts = 1;
|
||||||
disk->hosts->name = host;
|
disk->hosts->name = host;
|
||||||
disk->hosts->port = strdup(port);
|
disk->hosts->port = strdup(port);
|
||||||
if (!disk->hosts->port) {
|
if (!disk->hosts->port)
|
||||||
virReportOOMError();
|
goto no_memory;
|
||||||
goto error;
|
VIR_FREE(disk->src);
|
||||||
}
|
|
||||||
disk->src = NULL;
|
disk->src = NULL;
|
||||||
break;
|
break;
|
||||||
case VIR_DOMAIN_DISK_PROTOCOL_RBD:
|
case VIR_DOMAIN_DISK_PROTOCOL_RBD:
|
||||||
@ -6088,22 +6094,16 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
*vdi++ = '\0';
|
*vdi++ = '\0';
|
||||||
if (VIR_ALLOC(disk->hosts) < 0) {
|
if (VIR_ALLOC(disk->hosts) < 0)
|
||||||
virReportOOMError();
|
goto no_memory;
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
disk->nhosts = 1;
|
disk->nhosts = 1;
|
||||||
disk->hosts->name = disk->src;
|
disk->hosts->name = disk->src;
|
||||||
disk->hosts->port = strdup(port);
|
disk->hosts->port = strdup(port);
|
||||||
if (!disk->hosts->port) {
|
if (!disk->hosts->port)
|
||||||
virReportOOMError();
|
goto no_memory;
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
disk->src = strdup(vdi);
|
disk->src = strdup(vdi);
|
||||||
if (!disk->src) {
|
if (!disk->src)
|
||||||
virReportOOMError();
|
goto no_memory;
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user