|
From: | Julien Grall |
Subject: | Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 11/17] xc: modify save/restore to support multiple device models |
Date: | Thu, 23 Aug 2012 20:13:09 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20120726 Icedove/3.0.11 |
On 08/23/2012 02:27 PM, Ian Campbell wrote:
@@ -103,6 +103,9 @@ static ssize_t rdexact(xc_interface *xch, struct restore_ctx *ctx, #else #define RDEXACT read_exact #endif + +#define QEMUSIG_SIZE 21 + /* ** In the state file (or during transfer), all page-table pages are ** converted into a 'canonical' form where references to actual mfns @@ -467,7 +522,7 @@ static int buffer_tail_hvm(xc_interface *xch, struct restore_ctx *ctx, int vcpuextstate, uint32_t vcpuextstate_size) { uint8_t *tmp; - unsigned char qemusig[21]; + unsigned char qemusig[QEMUSIG_SIZE + 1];An extra + 1 here?
QEMUSIG_SIZE doesn't take into account the '\0'. So we need to add 1. If an error occurred, without +1, the output log lost the last character.
[...]- qemusig[20] = '\0'; + qemusig[QEMUSIG_SIZE] = '\0';This is one bigger than it used to be now. Perhaps this is an unrelated bug fix (I haven't check the real length of the sig), in which case please can you split it out and submit separately?
#define QEMU_SIGNATURE "DeviceModelRecord0002" Just checked, the length seems to be 21. I will send a patch with this change. -- Julien
[Prev in Thread] | Current Thread | [Next in Thread] |