Show an error when loading XML with multiple <component> tags

Fixes https://github.com/fwupd/fwupd/issues/4022, but requires a newer
libxmlb to be installed.
This commit is contained in:
Richard Hughes 2021-11-24 15:20:13 +00:00
parent 8c4a9547a8
commit 019a210c94

View File

@ -693,7 +693,14 @@ fu_cabinet_build_silo(FuCabinet *self, GBytes *data, GError **error)
xb_builder_add_fixup(self->builder, fixup4); xb_builder_add_fixup(self->builder, fixup4);
/* did we get any valid files */ /* 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) if (self->silo == NULL)
return FALSE; return FALSE;