summaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-13 20:41:58 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-12-13 20:41:58 +0000
commit4c9f7372fcf158d8a5d85ce9ce2988c27be63baf (patch)
tree23435f16e571d9e70851f3fb104e7b2a950205d0 /target-i386
parent56cd2b96636641af4f2fc5be968cc6901f99a17a (diff)
downloadqemu-4c9f7372fcf158d8a5d85ce9ce2988c27be63baf.tar.gz
Correctly initialize msr list in KVM
I believe this was spotted by Gerd Hoffman but I can't find his patch now. This will cause very subtle corruption on the heap because we don't allocate the appropriately sized buffer. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6017 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/kvm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 5e051c598c..d8c89ba093 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -90,11 +90,11 @@ static int kvm_has_msr_star(CPUState *env)
/* Obtain MSR list from KVM. These are the MSRs that we must
* save/restore */
+ msr_list.nmsrs = 0;
ret = kvm_ioctl(env->kvm_state, KVM_GET_MSR_INDEX_LIST, &msr_list);
if (ret < 0)
return 0;
- msr_list.nmsrs = 0;
kvm_msr_list = qemu_mallocz(sizeof(msr_list) +
msr_list.nmsrs * sizeof(msr_list.indices[0]));
if (kvm_msr_list == NULL)