summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2012-08-29 08:52:37 +0100
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-08-30 14:54:16 -0500
commit450ead742ae119b9862c3385b9a27060c4364483 (patch)
treef129dd6cc6aed5b83c35f8f1290dd009926e1ff2
parenttcg/mips: fix broken CONFIG_TCG_PASS_AREG0 code (diff)
downloadqemu-kvm-450ead742ae119b9862c3385b9a27060c4364483.tar.gz
qemu-kvm-450ead742ae119b9862c3385b9a27060c4364483.tar.bz2
qemu-kvm-450ead742ae119b9862c3385b9a27060c4364483.zip
hw/arm_gic.c: Define .class_size in arm_gic_info TypeInfo
Add the missing .class_size definition to the arm_gic_info TypeInfo. This fixes the memory corruption and possible segfault that otherwise results when the class struct is allocated at too small a size and the class init function writes off the end of it. Reported-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 998a74bcda7f3297813732ddc2f28ffe5a12e37a) - ARMGICClass isn't in 1.1, set class size to SysBusDeviceClass instead Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--hw/arm_gic.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/arm_gic.c b/hw/arm_gic.c
index 72298b4b4..ab3b87b14 100644
--- a/hw/arm_gic.c
+++ b/hw/arm_gic.c
@@ -955,6 +955,7 @@ static TypeInfo arm_gic_info = {
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(gic_state),
.class_init = arm_gic_class_init,
+ .class_size = sizeof(SysBusDeviceClass),
};
static void arm_gic_register_types(void)