mirror of https://gitee.com/openkylin/qemu.git
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>
This commit is contained in:
parent
29c75ddd87
commit
eca7db46ff
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue