diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2011-06-01 12:14:54 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-06-07 13:52:11 -0500 |
commit | eca7db46ff8f24a70f4040af3e941dc19fd33ebe (patch) | |
tree | 94f613c435de623c01a5944b79f170110e7566f1 | |
parent | 29c75ddd87ff7904005da08ff1056395261d90f1 (diff) |
json-streamer: make sure to reset token_size after emitting a token list
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | json-streamer.c | 2 | ||||
-rw-r--r-- | json-streamer.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/json-streamer.c b/json-streamer.c index 6b9af63fb2..a6cb28f665 100644 --- a/json-streamer.c +++ b/json-streamer.c @@ -65,6 +65,7 @@ static void json_message_process_token(JSONLexer *lexer, QString *token, JSONTok parser->emit(parser, parser->tokens); QDECREF(parser->tokens); parser->tokens = qlist_new(); + parser->token_size = 0; } else if (parser->token_size > MAX_TOKEN_SIZE || parser->bracket_count > MAX_NESTING || parser->brace_count > MAX_NESTING) { @@ -76,6 +77,7 @@ static void json_message_process_token(JSONLexer *lexer, QString *token, JSONTok parser->emit(parser, parser->tokens); QDECREF(parser->tokens); parser->tokens = qlist_new(); + parser->token_size = 0; } } diff --git a/json-streamer.h b/json-streamer.h index 09f3bd70e4..f09bc4daec 100644 --- a/json-streamer.h +++ b/json-streamer.h @@ -24,6 +24,7 @@ typedef struct JSONMessageParser int brace_count; int bracket_count; QList *tokens; + uint64_t token_size; } JSONMessageParser; void json_message_parser_init(JSONMessageParser *parser, |