From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4cpT-0006BX-72 for qemu-devel@nongnu.org; Thu, 23 Aug 2012 15:12:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4cpM-00066O-HE for qemu-devel@nongnu.org; Thu, 23 Aug 2012 15:12:31 -0400 Received: from smtp.citrix.com ([66.165.176.89]:7196) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4cpM-00066F-CL for qemu-devel@nongnu.org; Thu, 23 Aug 2012 15:12:24 -0400 Message-ID: <503680C5.6070509@citrix.com> Date: Thu, 23 Aug 2012 20:13:09 +0100 From: Julien Grall MIME-Version: 1.0 References: <1345728471.12501.90.camel@zakaz.uk.xensource.com> In-Reply-To: <1345728471.12501.90.camel@zakaz.uk.xensource.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 11/17] xc: modify save/restore to support multiple device models List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ian Campbell Cc: "christian.limpach@gmail.com" , "xen-devel@lists.xen.org" , "qemu-devel@nongnu.org" , Stefano Stabellini 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