[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size |
Date: |
Fri, 20 Nov 2015 10:32:29 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/20/2015 01:50 AM, Paolo Bonzini wrote:
>
>
> On 20/11/2015 07:13, Markus Armbruster wrote:
>>>> @@ -64,6 +65,7 @@ static void json_message_process_token(JSONLexer *lexer,
>>>> QString *token, JSONTok
>>>> parser->bracket_count == 0)) {
>>>> goto out_emit;
>>>> } else if (parser->token_size > MAX_TOKEN_SIZE ||
>>>> + qlist_size(parser->tokens) > MAX_TOKEN_COUNT ||
>>>
>>> This is O(n^2). I'd rather skip this patch, fix the memory hog and
>>> possibly decrease MAX_TOKEN_SIZE a bit.
>>
>> I can't see the square right now.
>
> It's hidden in qlist_size:
>
> static void qlist_size_iter(QObject *obj, void *opaque)
> {
> size_t *count = opaque;
> (*count)++;
> }
Yuck - we don't track size independently? Seems like it might make a
worthwhile addition, as well as convenience functions for efficiently
adding/removing a member at either end of the list. (But we already
know that the QObject hierarchy is silly with some of the things it does).
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v2 0/4] json-streamer: Fix up code to limit nesting and size, Markus Armbruster, 2015/11/19
- [Qemu-devel] [PATCH v2 3/4] check-qjson: Add test for JSON nesting depth limit, Markus Armbruster, 2015/11/19
- [Qemu-devel] [PATCH v2 2/4] json-streamer: Don't crash when input exceeds nesting limit, Markus Armbruster, 2015/11/19
- [Qemu-devel] [PATCH v2 1/4] json-streamer: Apply nesting limit more sanely, Markus Armbruster, 2015/11/19
- [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Markus Armbruster, 2015/11/19
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Paolo Bonzini, 2015/11/19
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Markus Armbruster, 2015/11/20
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Paolo Bonzini, 2015/11/20
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size,
Eric Blake <=
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Paolo Bonzini, 2015/11/23
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Eric Blake, 2015/11/23
- Re: [Qemu-devel] [PATCH v2 4/4] json-streamer: Limit number of tokens in addition to total size, Markus Armbruster, 2015/11/23
Re: [Qemu-devel] [PATCH v2 0/4] json-streamer: Fix up code to limit nesting and size, Eric Blake, 2015/11/19