From 1329d1896cc627cf71e3833525152ff59dd5113b Mon Sep 17 00:00:00 2001 From: Amos Kong Date: Tue, 13 Mar 2012 14:05:36 +0800 Subject: vmstate: fix varrays with uint32_t indexes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Acked-by: Juan Quintela Acked-by: Hervé Poussineau Signed-off-by: Blue Swirl --- savevm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/savevm.c b/savevm.c index 80be1ff06..694eaa4f8 100644 --- 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) { -- cgit v1.2.3