[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/16] qapi: Fix to reject stray 't', 'f' and 'n
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 08/16] qapi: Fix to reject stray 't', 'f' and 'n' |
Date: |
Tue, 16 Jun 2015 10:31:36 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 06/12/2015 08:51 AM, Markus Armbruster wrote:
>> Screwed up in commit e53188a.
>>
>
> And partly my fault for taking a patch written in python by someone
> else, without being a python guru myself. :)
>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> scripts/qapi.py | 26 ++++++++++++--------------
>> 1 file changed, 12 insertions(+), 14 deletions(-)
>>
>
> Is it worth a testsuite enhancement to expose this?
Four existing tests trigger the same error message:
* bad-type-int.err enum-int-member.err
Only because we neglect to parse numbers.
* escape-outside-string.err funny-char.err
These test stray '\' and ';'.
I guess a separate test covering bad literal names would be useful if we
actually do something different there.
>> + elif self.src.startswith("true", self.pos):
>> + self.val = True
>> + self.cursor += 3
>> + return
>> + elif self.src.startswith("false", self.pos):
>
> We still parse things like bare 'truest' as the token 'true'
> concatenated with the nonsense 'st', which is probably not the nicest of
> error messages, but the chances of someone mistyping bare words is not
> worth making it more robust.
>
> Reviewed-by: Eric Blake <address@hidden>
What regular expression should the lexer consume for a literal name?
My patch consumes (true|false|null).
For what it's worth, qobject/json-{lexer,parser}.c consume [a-z]+, then
reject anything but true, false, null. Lexes false0 as two tokens
JSON_KEYWORD false and JSON_INTEGER 0. Can't find a context where the
parser accepts that pair. It rejects it with its usual garbage error
message "Invalid JSON syntax".
- [Qemu-devel] [PATCH 13/16] qapi-types: Don't filter out expressions with 'gen', (continued)
- [Qemu-devel] [PATCH 13/16] qapi-types: Don't filter out expressions with 'gen', Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 12/16] qapi: Catch and reject flat union branch of array type, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 06/16] qapi: Fix file name in error messages for included files, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 07/16] qapi: Simplify inclusion cycle detection, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 08/16] qapi: Fix to reject stray 't', 'f' and 'n', Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 05/16] qapi: Improve a couple of confusing variable names, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 14/16] qapi-types: Drop unused members parameters, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 16/16] qapi-types: Bury code dead since commit 6b5abc7, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 10/16] qapi: Better separate the different kinds of helpers, Markus Armbruster, 2015/06/12
- [Qemu-devel] [PATCH 09/16] qapi: Move exprs checking from parse_schema() to check_exprs(), Markus Armbruster, 2015/06/12