• E
    snapshot: Track current snapshot in virDomainSnapshotObjList · 4819f54b
    Eric Blake 提交于
    It is easier to track the current snapshot as part of the list of
    snapshots. In particular, doing so lets us guarantee that the current
    snapshot is cleared if that snapshot is removed from the list (rather
    than depending on the caller to do so, and risking a use-after-free
    problem, such as the one recently patched in 1db9d0ef).  This
    requires the addition of several new accessor functions, as well as a
    useful return type for virDomainSnapshotObjListRemove().  A few error
    handling sites that were previously setting vm->current_snapshot =
    NULL can now be dropped, because the previous function call has now
    done it already.  Also, qemuDomainRevertToSnapshot() was setting the
    current vm twice, so keep only the one used on the success path.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
    4819f54b
qemu_domain.c 430.1 KB