[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v2 05/47] qapi: Reject -p arguments that bre
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH RFC v2 05/47] qapi: Reject -p arguments that break qapi-event.py |
Date: |
Fri, 24 Jul 2015 13:41:20 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 07/01/2015 02:21 PM, Markus Armbruster wrote:
>> qapi-event.py breaks when you ask for a funny prefix like '@'.
>> Protect it.
>
> Only possible from the command line (not triggered by our makefiles);
> but doesn't hurt.
>
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> scripts/qapi.py | 6 ++++++
>> 1 file changed, 6 insertions(+)
>
>
>>
>> diff --git a/scripts/qapi.py b/scripts/qapi.py
>> index 2bbc8ff..ea94ce5 100644
>> --- a/scripts/qapi.py
>> +++ b/scripts/qapi.py
>> @@ -1003,6 +1003,12 @@ def parse_command_line(extra_options = "",
>> extra_long_options = []):
>> for oa in opts:
>> o, a = oa
>> if o in ("-p", "--prefix"):
>> + match = re.match('([A-Za-z_.-][A-Za-z0-9_.-]*)?', a)
>
> I can understand allowing a leading _, but why bother allowing a leading
> '.' or '-'? Those will get normalized to _, but in all honesty, no one
> should ever be doing that.
My patch rejects exactly the prefixes that won't work.
> I'd be just as happy with the shorter:
>
> match = re.match('([A-Za-z_][A-Za-z0-9_.-]*)?', a)
This additionally rejects a few rather foolish ones.
I have a slight preference for the tool staying out of policing foolish
prefixes.
>> + if match.end() != len(a):
>> + print >>sys.stderr, \
>> + "%s: 'funny character '%s' in argument of -prefix" \
>
> 'qemu' is unusual for accepting -single-dash-long-opts; I don't think
> python getopts does the same by default. Please spell this error
> message --prefix.
Typo, will fix.
>> + % (sys.argv[0], a[match.end()])
>> + sys.exit(1)
>> prefix = a
>> elif o in ("-o", "--output-dir"):
>> output_dir = a + "/"
>>
>
> With the second spelling fix, and optionally with the shorter regex,
>
> Reviewed-by: Eric Blake <address@hidden>
Thanks!
- [Qemu-devel] [PATCH RFC v2 09/47] qapi-visit: Replace list implicit_structs by set, (continued)
- [Qemu-devel] [PATCH RFC v2 09/47] qapi-visit: Replace list implicit_structs by set, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 07/47] qapi: Generate a nicer struct for flat unions, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 01/47] qapi: Clarify docs on including the same file multiple times, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 05/47] qapi: Reject -p arguments that break qapi-event.py, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 10/47] qapi-visit: Fix two name arguments passed to visitors, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 11/47] tests/qapi-schema: Document alternate's enum lacks visit function, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 13/47] tests/qapi-schema: Restore test case for flat union base bug, Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 16/47] qapi-commands: Fix gen_err_check(e) for e and e != 'local_err', Markus Armbruster, 2015/07/01
- [Qemu-devel] [PATCH RFC v2 17/47] qapi-commands: Inline gen_marshal_output_call(), Markus Armbruster, 2015/07/01