[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 09/26] sd/milkymist-memcard: Plug minor memory leak in rea
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 09/26] sd/milkymist-memcard: Plug minor memory leak in realize |
Date: |
Tue, 30 Jun 2020 11:10:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 6/30/20 11:03 AM, Markus Armbruster wrote:
> milkymist_memcard_realize() leaks an Error object when realization of
> its "sd-card" device fails. Quite harmless, since we only ever
> realize this once, in milkymist_init() via milkymist_memcard_create().
>
> Plug the leak.
>
> Fixes: 3d0369ba499866cc6a839f71212d97876500762d
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Cc: Michael Walle <michael@walle.cc>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> hw/sd/milkymist-memcard.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c
> index 482e97191e..afdb8aa0c0 100644
> --- a/hw/sd/milkymist-memcard.c
> +++ b/hw/sd/milkymist-memcard.c
> @@ -280,9 +280,8 @@ static void milkymist_memcard_realize(DeviceState *dev,
> Error **errp)
> blk = dinfo ? blk_by_legacy_dinfo(dinfo) : NULL;
> carddev = qdev_new(TYPE_SD_CARD);
> qdev_prop_set_drive(carddev, "drive", blk);
> - qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err);
> - if (err) {
> - error_setg(errp, "failed to init SD card: %s",
> error_get_pretty(err));
> + if (!qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err)) {
> + error_propagate_prepend(errp, err, "failed to init SD card: %s");
> return;
> }
> s->enabled = blk && blk_is_inserted(blk);
>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
- [PATCH v3 00/26] Error handling fixes & cleanups, Markus Armbruster, 2020/06/30
- [PATCH v3 04/26] tests: Use &error_abort where appropriate, Markus Armbruster, 2020/06/30
- [PATCH v3 10/26] test-util-filemonitor: Plug unlikely memory leak, Markus Armbruster, 2020/06/30
- [PATCH v3 05/26] tests: Use error_free_or_abort() where appropriate, Markus Armbruster, 2020/06/30
- [PATCH v3 08/26] qga: Plug unlikely memory leak in guest-set-memory-blocks, Markus Armbruster, 2020/06/30
- [PATCH v3 07/26] spapr: Plug minor memory leak in spapr_machine_init(), Markus Armbruster, 2020/06/30
- [PATCH v3 09/26] sd/milkymist-memcard: Plug minor memory leak in realize, Markus Armbruster, 2020/06/30
- Re: [PATCH v3 09/26] sd/milkymist-memcard: Plug minor memory leak in realize,
Philippe Mathieu-Daudé <=
- [PATCH v3 12/26] aspeed: Clean up roundabout error propagation, Markus Armbruster, 2020/06/30
- [PATCH v3 13/26] qdev: Drop qbus_set_bus_hotplug_handler() parameter @errp, Markus Armbruster, 2020/06/30
- [PATCH v3 14/26] qdev: Drop qbus_set_hotplug_handler() parameter @errp, Markus Armbruster, 2020/06/30
- [PATCH v3 03/26] Clean up some calls to ignore Error objects the right way, Markus Armbruster, 2020/06/30
- [PATCH v3 22/26] arm/stm32f205 arm/stm32f405: Fix realize error API violation, Markus Armbruster, 2020/06/30
- [PATCH v3 20/26] x86: Fix x86_cpu_new() error handling, Markus Armbruster, 2020/06/30
- [PATCH v3 06/26] usb/dev-mtp: Fix Error double free after inotify failure, Markus Armbruster, 2020/06/30