diff mbox series

hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host()

Message ID 20180725113000.11014-1-geert+renesas@glider.be (mailing list archive)
State New, archived
Headers show
Series hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host() | expand

Commit Message

Geert Uytterhoeven July 25, 2018, 11:30 a.m. UTC
When copy_properties_from_host() ignores the error for an optional
property, it frees the error, but fails to reset it.

Hence if two or more optional properties are missing, an assertion is
triggered:

    util/error.c:57: error_setv: Assertion `*errp == NULL' failed.

Fis this by resetting err to NULL after ignoring the error.

Fixes: 9481cf2e5f2f2bb6 ("hw/arm/sysbus-fdt: helpers for clock node generation")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 hw/arm/sysbus-fdt.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Peter Maydell July 30, 2018, 1:50 p.m. UTC | #1
On 25 July 2018 at 12:30, Geert Uytterhoeven <geert+renesas@glider.be> wrote:
> When copy_properties_from_host() ignores the error for an optional
> property, it frees the error, but fails to reset it.
>
> Hence if two or more optional properties are missing, an assertion is
> triggered:
>
>     util/error.c:57: error_setv: Assertion `*errp == NULL' failed.
>
> Fis this by resetting err to NULL after ignoring the error.
>
> Fixes: 9481cf2e5f2f2bb6 ("hw/arm/sysbus-fdt: helpers for clock node generation")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks, applied to target-arm.next for 3.0.

-- PMM
diff mbox series

Patch

diff --git a/hw/arm/sysbus-fdt.c b/hw/arm/sysbus-fdt.c
index 0d4c75702c3ddfae..43d6a7bb48ddc351 100644
--- a/hw/arm/sysbus-fdt.c
+++ b/hw/arm/sysbus-fdt.c
@@ -107,6 +107,7 @@  static void copy_properties_from_host(HostProperty *props, int nb_props,
                 /* mandatory property not found: bail out */
                 exit(1);
             }
+            err = NULL;
         }
     }
 }