]> git.proxmox.com Git - qemu.git/commitdiff
vmstate: fix varrays with uint32_t indexes
authorAmos Kong <akong@redhat.com>
Tue, 13 Mar 2012 06:05:36 +0000 (14:05 +0800)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 17 Mar 2012 12:58:51 +0000 (12:58 +0000)
VMSTATE_VARRAY_UINT32() is used in hw/ds1225y.c, and we checked
VMS_VARRAY_UINT32 bit of field->flags in vmstate_load_state(),
but we don't check this bit in vmstate_save_state().

Signed-off-by: Amos Kong <akong@redhat.com>
Acked-by: Juan Quintela <quintela@redhat.com>
Acked-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
savevm.c

index 80be1ff0634cd1fec7450c5e26c0e34a9a62cc44..694eaa4f85ab8d7c12b9364d4172f0e3f91f2d6f 100644 (file)
--- a/savevm.c
+++ b/savevm.c
@@ -1486,6 +1486,8 @@ void vmstate_save_state(QEMUFile *f, const VMStateDescription *vmsd,
                 n_elems = field->num;
             } else if (field->flags & VMS_VARRAY_INT32) {
                 n_elems = *(int32_t *)(opaque+field->num_offset);
+            } else if (field->flags & VMS_VARRAY_UINT32) {
+                n_elems = *(uint32_t *)(opaque+field->num_offset);
             } else if (field->flags & VMS_VARRAY_UINT16) {
                 n_elems = *(uint16_t *)(opaque+field->num_offset);
             } else if (field->flags & VMS_VARRAY_UINT8) {