On 07/07/17 22:30, Eduardo Habkost wrote: > object_resolve_path*() ambiguous path detection breaks when > ambiguous==NULL and the object tree have 3 objects of the same type and > only 2 of them are under the same parent. e.g.: > > /container/obj1 (TYPE_FOO) > /container/obj2 (TYPE_FOO) > /obj2 (TYPE_FOO) > > With the above tree, object_resolve_path_type("", TYPE_FOO, NULL) will > incorrectly return /obj2, because the search inside "/container" will > return NULL, and the match at "/obj2" won't be detected as ambiguous. > > Fix that by always calling object_resolve_partial_path() with a non-NULL > ambiguous parameter. > > Test case included. > > Reported-by: Igor Mammedov <imamm...@redhat.com> > Cc: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > > Eduardo Habkost (2): > tests: Test case for object_resolve_path*() > qom: Fix ambiguous path detection when ambiguous=NULL > > qom/object.c | 17 ++++++++--------- > tests/check-qom-proplist.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 52 insertions(+), 9 deletions(-)
I've done a quick test here and I get a pass on "make check" with these patches applied so: Tested-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Later on I'll also rework my fw_cfg patchset and send out a v8 which should hopefully be the last iteration. ATB, Mark.