mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
qemu: Check virGetLastError return value for migration finish failure
Commit id '2e7cea243' added a check for an error from Finish instead of 'unexpected error'; however, if for some reason there wasn't an error, then virGetLastError could return NULL resulting in the NULL pointer deref to err->domain.
This commit is contained in:
parent
53704bf24e
commit
ea3c5f25eb
@ -3195,7 +3195,8 @@ virDomainMigrateVersion3Full(virDomainPtr domain,
|
||||
orig_err->domain == VIR_FROM_QEMU &&
|
||||
orig_err->code == VIR_ERR_OPERATION_FAILED) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err->domain == VIR_FROM_QEMU &&
|
||||
if (err &&
|
||||
err->domain == VIR_FROM_QEMU &&
|
||||
err->code != VIR_ERR_MIGRATE_FINISH_OK) {
|
||||
virFreeError(orig_err);
|
||||
orig_err = NULL;
|
||||
|
@ -5023,7 +5023,8 @@ doPeer2PeerMigrate3(virQEMUDriverPtr driver,
|
||||
orig_err->domain == VIR_FROM_QEMU &&
|
||||
orig_err->code == VIR_ERR_OPERATION_FAILED) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err->domain == VIR_FROM_QEMU &&
|
||||
if (err &&
|
||||
err->domain == VIR_FROM_QEMU &&
|
||||
err->code != VIR_ERR_MIGRATE_FINISH_OK) {
|
||||
virFreeError(orig_err);
|
||||
orig_err = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user