mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
Check return value of virDomainControllerInsert when parsing QEMU args
The parsing of '-usb' did not check for failure of the virDomainControllerInsert method. As a result on OOM, the parser mistakenly attached USB disks to the IDE controller. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
b81f30566b
commit
cba4868ad8
@ -2361,7 +2361,8 @@ int virDomainDiskIndexByName(virDomainDefPtr def, const char *name,
|
||||
bool allow_ambiguous);
|
||||
const char *virDomainDiskPathByName(virDomainDefPtr, const char *name);
|
||||
int virDomainDiskInsert(virDomainDefPtr def,
|
||||
virDomainDiskDefPtr disk);
|
||||
virDomainDiskDefPtr disk)
|
||||
ATTRIBUTE_RETURN_CHECK;
|
||||
void virDomainDiskInsertPreAlloced(virDomainDefPtr def,
|
||||
virDomainDiskDefPtr disk);
|
||||
int virDomainDiskDefAssignAddress(virDomainXMLOptionPtr xmlopt,
|
||||
@ -2415,7 +2416,8 @@ virDomainNetGetActualBandwidth(virDomainNetDefPtr iface);
|
||||
virNetDevVlanPtr virDomainNetGetActualVlan(virDomainNetDefPtr iface);
|
||||
|
||||
int virDomainControllerInsert(virDomainDefPtr def,
|
||||
virDomainControllerDefPtr controller);
|
||||
virDomainControllerDefPtr controller)
|
||||
ATTRIBUTE_RETURN_CHECK;
|
||||
void virDomainControllerInsertPreAlloced(virDomainDefPtr def,
|
||||
virDomainControllerDefPtr controller);
|
||||
int virDomainControllerFind(virDomainDefPtr def, int type, int idx);
|
||||
@ -2425,7 +2427,8 @@ int virDomainLeaseIndex(virDomainDefPtr def,
|
||||
virDomainLeaseDefPtr lease);
|
||||
int virDomainLeaseInsert(virDomainDefPtr def,
|
||||
virDomainLeaseDefPtr lease);
|
||||
int virDomainLeaseInsertPreAlloc(virDomainDefPtr def);
|
||||
int virDomainLeaseInsertPreAlloc(virDomainDefPtr def)
|
||||
ATTRIBUTE_RETURN_CHECK;
|
||||
void virDomainLeaseInsertPreAlloced(virDomainDefPtr def,
|
||||
virDomainLeaseDefPtr lease);
|
||||
virDomainLeaseDefPtr
|
||||
|
@ -11624,7 +11624,8 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
|
||||
ctldef->type = VIR_DOMAIN_CONTROLLER_TYPE_USB;
|
||||
ctldef->idx = 0;
|
||||
ctldef->model = -1;
|
||||
virDomainControllerInsert(def, ctldef);
|
||||
if (virDomainControllerInsert(def, ctldef) < 0)
|
||||
goto error;
|
||||
} else if (STREQ(arg, "-pidfile")) {
|
||||
WANT_VALUE();
|
||||
if (pidfile)
|
||||
|
Loading…
x
Reference in New Issue
Block a user