From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41801 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OF7ms-0007wj-RO for qemu-devel@nongnu.org; Thu, 20 May 2010 11:35:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OF7mk-0006RL-Rb for qemu-devel@nongnu.org; Thu, 20 May 2010 11:35:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50269) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OF7mk-0006R8-KU for qemu-devel@nongnu.org; Thu, 20 May 2010 11:35:46 -0400 Date: Thu, 20 May 2010 12:35:39 -0300 From: Luiz Capitulino Message-ID: <20100520123539.73268691@redhat.com> In-Reply-To: <4BF5548B.1000505@redhat.com> References: <1274303733-3700-1-git-send-email-lcapitulino@redhat.com> <1274303733-3700-3-git-send-email-lcapitulino@redhat.com> <4BF45BCF.5090300@codemonkey.ws> <20100520104433.1be3167c@redhat.com> <4BF55231.8020208@redhat.com> <20100520122532.0e20ee7c@redhat.com> <4BF5548B.1000505@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 2/6] json-lexer: Handle missing escapes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org On Thu, 20 May 2010 17:26:03 +0200 Paolo Bonzini wrote: > On 05/20/2010 05:25 PM, Luiz Capitulino wrote: > > On Thu, 20 May 2010 17:16:01 +0200 > > Paolo Bonzini wrote: > > > >> On 05/20/2010 03:44 PM, Luiz Capitulino wrote: > >>> I think there's another issue in the handling of strings. > >>> > >>> The spec says that valid unescaped chars are in the following range: > >>> > >>> unescaped = %x20-21 / %x23-5B / %x5D-10FFFF > >>> > >>> But we do: > >>> > >>> [IN_DQ_STRING] = { > >>> [1 ... 0xFF] = IN_DQ_STRING, > >>> ['\\'] = IN_DQ_STRING_ESCAPE, > >>> ['"'] = IN_DONE_STRING, > >>> }, > >>> > >>> Shouldn't we cover 0x20 .. 0xFF instead? > >> > >> If it's the lexer, isn't just it being liberal in what it accepts? > > > > Yes, it's the lexer, but you meant that the fix should be in > > somewhere else? > > I meant that we're just accepting some invalid JSON and that's not a big > deal. It can become a big deal if clients rely on it and for some reason we decide we should drop it. Ie. after QMP is declared stable such changes won't be allowed. Yes, I know, the chances of someone relying on this kind of thing is probably almost zero. At the same time I think we should be very conservative if there's no good reason to do otherwise.