From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIxef-0001cd-Ex for qemu-devel@nongnu.org; Thu, 08 Jun 2017 09:39:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIxee-0005QJ-L1 for qemu-devel@nongnu.org; Thu, 08 Jun 2017 09:39:17 -0400 From: Eduardo Habkost Date: Thu, 8 Jun 2017 10:39:02 -0300 Message-Id: <20170608133906.12737-2-ehabkost@redhat.com> In-Reply-To: <20170608133906.12737-1-ehabkost@redhat.com> References: <20170608133906.12737-1-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH 1/5] xilinx: Fix error handling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , Jason Wang , qemu-arm@nongnu.org Assigning directly to *errp is not valid, as errp may be NULL, &error_fatal, or &error_abort. Use error_propagate() instead. error_propagate() handles non-NULL *errp correctly, so the "if (!*errp)" check can be removed. Cc: "Edgar E. Iglesias" Cc: Alistair Francis Cc: Jason Wang Cc: qemu-arm@nongnu.org Signed-off-by: Eduardo Habkost --- hw/dma/xilinx_axidma.c | 4 +--- hw/net/xilinx_axienet.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index 6065689ad1..3987b5ff96 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -554,9 +554,7 @@ static void xilinx_axidma_realize(DeviceState *dev, Error **errp) return; xilinx_axidma_realize_fail: - if (!*errp) { - *errp = local_err; - } + error_propagate(errp, local_err); } static void xilinx_axidma_init(Object *obj) diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index b6701844d3..5ffa739f68 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -981,9 +981,7 @@ static void xilinx_enet_realize(DeviceState *dev, Error **errp) return; xilinx_enet_realize_fail: - if (!*errp) { - *errp = local_err; - } + error_propagate(errp, local_err); } static void xilinx_enet_init(Object *obj) -- 2.11.0.259.g40922b1