]> git.proxmox.com Git - mirror_qemu.git/commit - hw/net/xilinx_axienet.c
xilinx: Fix latent error handling bug
authorEduardo Habkost <ehabkost@redhat.com>
Thu, 8 Jun 2017 13:39:02 +0000 (10:39 -0300)
committerMarkus Armbruster <armbru@redhat.com>
Thu, 13 Jul 2017 11:45:53 +0000 (13:45 +0200)
commita9859c90a5db200fd4f63ab2cdc973343348b9ef
treeb6b4df511b6b2c84d26e6cfd9cf15855a88818a0
parent31fe1c414501047cbb91b695bdccc0068496dcf6
xilinx: Fix latent error handling bug

Assigning directly to *errp is not valid, as errp may be null,
&error_fatal, or &error_abort.  The !*errp conditional protects
against the latter two, but we then leak @local_err.  Fortunately,
the qdev core always passes pointer to null, so this is "merely" a
latent bug.

Use error_propagate() instead.

Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: Alistair Francis <alistair.francis@xilinx.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: qemu-arm@nongnu.org
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20170608133906.12737-2-ehabkost@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message clarified]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
hw/dma/xilinx_axidma.c
hw/net/xilinx_axienet.c