summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2026-06-26 12:17:23 +0200
committerMarkus Armbruster <armbru@redhat.com>2026-07-02 13:55:01 +0200
commit19c04b99cad2aca987cda28671b1e959fc2cb6f7 (patch)
tree70f02d83ec9f4a1629e4b2cbaa4524279aa288c5 /include
parente8f8abcba14eecaf642f809e6ccf24feb547d6c7 (diff)
downloadqemu-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.h4
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;