[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 1/4] Fix issue affecting get_int32_le() in vmstate.c
From: |
Alvise Rigo |
Subject: |
[Qemu-devel] [RFC 1/4] Fix issue affecting get_int32_le() in vmstate.c |
Date: |
Tue, 25 Feb 2014 17:52:47 +0100 |
The method is not behaving in the way it's supposed to. It should return
the new value only if it's less than the actual one.
Signed-off-by: Alvise Rigo <address@hidden>
---
vmstate.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/vmstate.c b/vmstate.c
index 284b080..038b274 100644
--- a/vmstate.c
+++ b/vmstate.c
@@ -326,11 +326,11 @@ const VMStateInfo vmstate_info_int32_equal = {
static int get_int32_le(QEMUFile *f, void *pv, size_t size)
{
- int32_t *old = pv;
- int32_t new;
- qemu_get_sbe32s(f, &new);
+ int32_t old = *(int32_t *)pv;
+ int32_t *new = pv;
+ qemu_get_sbe32s(f, new);
- if (*old <= new) {
+ if (*new <= old) {
return 0;
}
return -EINVAL;
--
1.8.3.2