]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
kvm/apic: correct short memset
authorJim Meyering <meyering@redhat.com>
Thu, 10 May 2012 16:19:47 +0000 (18:19 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 25 Jun 2012 13:53:05 +0000 (08:53 -0500)
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>
hw/kvm/apic.c

index ffe7a521b7f5269d08c7836b26e8633d64eb3fdc..a0ab503169c116218edce775e62362d2e42300f3 100644 (file)
@@ -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);