Unlike g_free(), g_array_free() does not accept a NULL pointer argument.
The following error is logged when an nvdimm device is realized:
GLib-CRITICAL **: g_array_free: assertion 'array' failed
Cc: Xiao Guangrong <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/acpi/nvdimm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c
index 8e7d6ec..8f0a484 100644
--- a/hw/acpi/nvdimm.c
+++ b/hw/acpi/nvdimm.c
@@ -375,7 +375,9 @@ static void nvdimm_init_fit_buffer(NvdimmFitBuffer *fit_buf)
static void nvdimm_build_fit_buffer(NvdimmFitBuffer *fit_buf)
{
- g_array_free(fit_buf->fit, true);
+ if (fit_buf->fit) {
+ g_array_free(fit_buf->fit, true);
+ }