Eric Blake <ebl...@redhat.com> writes: > No backend was setting an error when ending the visit of a list > or implicit struct.
That's a lie: qmp_input_end_list() does. But it shouldn't, as you explain below. Rephrase the commit message? > Make the callers a bit easier to follow by > making this a part of the contract, and removing the errp > argument - callers can then unconditionally end an object as > part of cleanup without having to think about whether a second > error is dominated by a first, because there is no second error. > > The only addition of &error_abort in this patch, in the function > qmp_input_end_list(), will never trigger unless a programming > bug creates a push(struct)/pop(list) or push(list)/pop(struct) > mismatch. > > A later patch will then tackle the larger task of splitting > visit_end_struct(), which can indeed set an error (and that > cleanup will also have the side-effect of removing the use of > error_abort added here). > > Signed-off-by: Eric Blake <ebl...@redhat.com> > Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> Patch looks good. I like the simplification.