Paolo Bonzini <[email protected]> writes: > On 2/10/26 08:58, Markus Armbruster wrote: >> Paolo Bonzini <[email protected]> writes: >> >>> Now fully exploit the push parser, feeding it one token at a time >>> without having to wait until braces and brackets are balanced. >>> >>> While the nesting counts are retained for error recovery purposes, >>> the system can now report the first parsing error without waiting >>> for delimiters to be balanced. This also means that JSON_ERROR >>> can be handled in json-parser.c, not json-streamer.c. >>> >>> After reporting the error, json-streamer.c then enters an error recovery >>> mode where subsequent errors are suppressed. This mimics the previous >>> error reporting behavior, but it provides prompt feedback on parsing >>> errors. As an example, here is an example interaction with qemu-ga.
[...] >>> diff --git a/qobject/json-streamer.c b/qobject/json-streamer.c >>> index 6c93e6fd78d..a1210128ac1 100644 >>> --- a/qobject/json-streamer.c >>> +++ b/qobject/json-streamer.c [...] >>> + /* >>> + * Security consideration, we limit total memory allocated per >>> object >>> + * and the maximum recursion depth that a message can force. >>> + */ >> >> This comment now needs rephrasing: there's no recursion anymore. In the >> previous commit if we're feeling persnickety. > > s/recursion/nesting/? Yup. [...]
