[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 1/6] migration: fix vmdesc leak on vmstate_save()
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v3 1/6] migration: fix vmdesc leak on vmstate_save() error |
Date: |
Thu, 12 Sep 2019 16:25:09 +0400 |
Signed-off-by: Marc-André Lureau <address@hidden>
---
migration/qjson.h | 2 ++
migration/savevm.c | 3 +--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/migration/qjson.h b/migration/qjson.h
index 41664f2d71..1786bb5864 100644
--- a/migration/qjson.h
+++ b/migration/qjson.h
@@ -24,4 +24,6 @@ void json_start_object(QJSON *json, const char *name);
const char *qjson_get_str(QJSON *json);
void qjson_finish(QJSON *json);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(QJSON, qjson_destroy)
+
#endif /* QEMU_QJSON_H */
diff --git a/migration/savevm.c b/migration/savevm.c
index 4a86128ac4..6caa35a679 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1290,7 +1290,7 @@ int
qemu_savevm_state_complete_precopy_non_iterable(QEMUFile *f,
bool in_postcopy,
bool inactivate_disks)
{
- QJSON *vmdesc;
+ g_autoptr(QJSON) vmdesc = NULL;
int vmdesc_len;
SaveStateEntry *se;
int ret;
@@ -1351,7 +1351,6 @@ int
qemu_savevm_state_complete_precopy_non_iterable(QEMUFile *f,
qemu_put_be32(f, vmdesc_len);
qemu_put_buffer(f, (uint8_t *)qjson_get_str(vmdesc), vmdesc_len);
}
- qjson_destroy(vmdesc);
return 0;
}
--
2.23.0