Handling potential memory allocation failures in dirtyrate.
Signed-off-by: jianchunfu <jianchunfu@cmss.chinamobile.com>
---
migration/dirtyrate.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index aace12a787..5dd40f32c8 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -523,9 +523,17 @@ static void calculate_dirtyrate_dirty_ring(struct
DirtyRateConfig config)
}
dirty_pages = malloc(sizeof(*dirty_pages) * nvcpu);
+ if (!dirty_pages) {
+ error_report("malloc dirty pages for vcpus failed.");
+ exit(1);
+ }
DirtyStat.dirty_ring.nvcpu = nvcpu;
DirtyStat.dirty_ring.rates = malloc(sizeof(DirtyRateVcpu) * nvcpu);
+ if (!DirtyStat.dirty_ring.rates) {
+ error_report("malloc dirty rates for vcpu ring failed.");
+ exit(1);
+ }