From 019a210c94d180ff1dce942ba7531b025a1ce67f Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 24 Nov 2021 15:20:13 +0000 Subject: [PATCH] Show an error when loading XML with multiple tags Fixes https://github.com/fwupd/fwupd/issues/4022, but requires a newer libxmlb to be installed. --- libfwupdplugin/fu-cabinet.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libfwupdplugin/fu-cabinet.c b/libfwupdplugin/fu-cabinet.c index 0cd0f3929..4bfde3a20 100644 --- a/libfwupdplugin/fu-cabinet.c +++ b/libfwupdplugin/fu-cabinet.c @@ -693,7 +693,14 @@ fu_cabinet_build_silo(FuCabinet *self, GBytes *data, GError **error) xb_builder_add_fixup(self->builder, fixup4); /* did we get any valid files */ - self->silo = xb_builder_compile(self->builder, XB_BUILDER_COMPILE_FLAG_NONE, NULL, error); + self->silo = xb_builder_compile(self->builder, +#if LIBXMLB_CHECK_VERSION(0, 3, 4) + XB_BUILDER_COMPILE_FLAG_SINGLE_ROOT, +#else + XB_BUILDER_COMPILE_FLAG_NONE, +#endif + NULL, + error); if (self->silo == NULL) return FALSE;