OSDN Git Service

hw/arm/sysbus-fdt: Fix assertion in copy_properties_from_host()
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 25 Jul 2018 11:30:00 +0000 (13:30 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 30 Jul 2018 13:47:32 +0000 (14:47 +0100)
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>
Message-id: 20180725113000.11014-1-geert+renesas@glider.be
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/sysbus-fdt.c

index 0d4c757..43d6a7b 100644 (file)
@@ -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;
         }
     }
 }