From f969e393a9793b0631d094c78f80c702a95e3a4e Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 4 Jun 2009 13:56:49 +0000 Subject: [PATCH] Fix a memory error on Xen device removal * src/xm_internals.c: the memory shrinking on device removal didn't copy the right amount of memory, patch by Daniel Berrange fixes #497051 daniel --- ChangeLog | 6 ++++++ src/xm_internal.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index e7f87d26d1..f50523f89f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Jun 4 15:54:24 CEST 2009 Daniel Veillard + + * src/xm_internals.c: the memory shrinking on device removal + didn't copy the right amount of memory, patch by Daniel Berrange + fixes #497051 + Wed Jun 3 15:32:52 BST 2009 Daniel P. Berrange * src/vbox/vbox_tmpl.c: Add NUMA memory APIs diff --git a/src/xm_internal.c b/src/xm_internal.c index 95f70b0ccb..f4b3a6ca2e 100644 --- a/src/xm_internal.c +++ b/src/xm_internal.c @@ -2943,7 +2943,8 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) { if (i < (def->ndisks - 1)) memmove(def->disks + i, def->disks + i + 1, - def->ndisks - (i + 1)); + sizeof(*def->disks) * + (def->ndisks - (i + 1))); break; } } @@ -2960,7 +2961,8 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) { if (i < (def->nnets - 1)) memmove(def->nets + i, def->nets + i + 1, - def->nnets - (i + 1)); + sizeof(*def->nets) * + (def->nnets - (i + 1))); break; } }