[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] xbzrle: don't check the value in the vm ram repeate
From: |
arei.gonglei |
Subject: |
[Qemu-devel] [PATCH] xbzrle: don't check the value in the vm ram repeatedly |
Date: |
Sat, 29 Mar 2014 15:52:21 +0800 |
From: ChenLiang <address@hidden>
xbzrle_encode_buffer checks the value in the ram repeatedly.
It is risk if runs xbzrle_encode_buffer on changing data.
And it is not necessary.
Reported-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: ChenLiang <address@hidden>
Signed-off-by: Gonglei <address@hidden>
---
xbzrle.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/xbzrle.c b/xbzrle.c
index fbcb35d..e2c7595 100644
--- a/xbzrle.c
+++ b/xbzrle.c
@@ -82,6 +82,8 @@ int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t *new_buf,
int slen,
if (d + 2 > dlen) {
return -1;
}
+ i++;
+ nzrun_len++;
/* not aligned to sizeof(long) */
res = (slen - i) % sizeof(long);
while (res && old_buf[i] != new_buf[i]) {
@@ -118,6 +120,8 @@ int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t
*new_buf, int slen,
memcpy(dst + d, nzrun_start, nzrun_len);
d += nzrun_len;
nzrun_len = 0;
+ i++;
+ zrun_len++;
}
return d;
--
1.7.12.4