diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2026-06-26 12:17:23 +0200 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2026-07-02 13:55:01 +0200 |
| commit | 19c04b99cad2aca987cda28671b1e959fc2cb6f7 (patch) | |
| tree | 70f02d83ec9f4a1629e4b2cbaa4524279aa288c5 /include | |
| parent | e8f8abcba14eecaf642f809e6ccf24feb547d6c7 (diff) | |
| download | qemu-19c04b99cad2aca987cda28671b1e959fc2cb6f7.tar.gz qemu-19c04b99cad2aca987cda28671b1e959fc2cb6f7.zip | |
json-streamer: make brace/bracket count unsigned
It makes no sense to let brace_count and bracket_count go negative,
also because it immediately ends error recovery and sets them both
back to zero. Instead set them to zero *before* choosing
whether to process the token queue; this makes it possible to
have the fields as unsigned.
Note that JSON_END_OF_INPUT now forces the parentheses to appear
balanced, so that the queue is emptied and an error is reported;
hence, the "type != JSON_END_OF_INPUT" condition can be removed.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20260626101727.1727389-4-pbonzini@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Comment tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/qobject/json-parser.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/qobject/json-parser.h b/include/qobject/json-parser.h index 4c3d89f751..0cf6932ecd 100644 --- a/include/qobject/json-parser.h +++ b/include/qobject/json-parser.h @@ -31,8 +31,8 @@ typedef struct JSONMessageParser { void *opaque; JSONLexer lexer; JSONParserContext parser; - int brace_count; - int bracket_count; + unsigned int brace_count; + unsigned int bracket_count; GQueue tokens; uint64_t token_size; } JSONMessageParser; |
