On 04/13/2016 10:06 AM, Markus Armbruster wrote: > Eric Blake <ebl...@redhat.com> writes: > >> Commit e8316d7 mistakenly passed consume=true > > in qmp_input_optional(), right?
yes > >> when checking if >> an optional member was present, but the mistake was silently >> ignored since the code happily let us extract a member more than >> once. Tighten up the input visitor to ensure that a member is >> consumed exactly once. [1] by fixing qmp_input_optional() to pass consume=false >> To keep the testsuite happy in the case >> of incomplete input, we have to check whether a member exists >> in the dictionary before trying to remove it. > > Sure this is only for the testsuite's benefit? The testsuite was the only client that failed under the tighter semantics; but the better semantics allow later patches to further improve the code while guaranteeing that clients remain sane. > > You fix commit e8316d7's incorrect consume=true, don't you? Recommend > to mention that explicitly. I thought I did, but I can add wording [1] along those lines. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature