mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05: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.
(cherry picked from commit ea3c5f25eb)
This commit is contained in:
1 parent
0206984abb
commit
e5db3c4df2
2 files changed
+4
-2
No files matched your search
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user