summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2012-05-10 18:19:47 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-06-25 08:53:05 -0500
commitca09717e8e0664801522781962a3c727d04eef33 (patch)
treeab924e07f06395e2ecd58a8886a0d7f33285d21a
parent0cc21de484d4f00c7b7cacb487bd343cc55effa5 (diff)
kvm/apic: correct short memset
kvm_put_apic_state's attempt to clear *kapic before setting its bits cleared sizeof(void*) bytes (no more than 8) rather than the intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com> (cherry picked from commit 0614cb82ca27bdffb83864e693fc29e29182667b) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--hw/kvm/apic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c
index ffe7a521b..a0ab50316 100644
--- a/hw/kvm/apic.c
+++ b/hw/kvm/apic.c
@@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic)
APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d);
int i;
- memset(kapic, 0, sizeof(kapic));
+ memset(kapic, 0, sizeof(*kapic));
kvm_apic_set_reg(kapic, 0x2, s->id << 24);
kvm_apic_set_reg(kapic, 0x8, s->tpr);
kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24);