From: Daniel Henrique Barboza Date: Tue, 7 Sep 2021 00:47:51 +0000 (-0300) Subject: spapr_drc.c: do not error_report() when drc->dev->id == NULL X-Git-Tag: v6.2.0-rc0~80^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91bd95ce162cd34ba29e9f6470ecdcaaaf1d768d;p=thirdparty%2Fqemu.git spapr_drc.c: do not error_report() when drc->dev->id == NULL The error_report() call in drc_unisolate_logical() is not considering that drc->dev->id can be NULL, and the underlying functions error_report() calls to do its job (vprintf(), g_strdup_printf() ...) has undefined behavior when trying to handle "%s" with NULL arguments. Besides, there is no utility into reporting that an unknown device was rejected by the guest. Acked-by: David Gibson Reviewed-by: Greg Kurz Reviewed-by: Markus Armbruster Signed-off-by: Daniel Henrique Barboza Message-Id: <20210907004755.424931-4-danielhb413@gmail.com> Signed-off-by: David Gibson --- diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index a2f26346015..a4d9496f761 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -167,8 +167,11 @@ static uint32_t drc_unisolate_logical(SpaprDrc *drc) } drc->unplug_requested = false; - error_report("Device hotunplug rejected by the guest " - "for device %s", drc->dev->id); + + if (drc->dev->id) { + error_report("Device hotunplug rejected by the guest " + "for device %s", drc->dev->id); + } /* * TODO: send a QAPI DEVICE_UNPLUG_ERROR event when