VNC: Fix memory allocation (wrong structure size).
authorStefan Weil <weil@mail.berlios.de>
Sun, 24 May 2009 20:33:34 +0000 (22:33 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 27 May 2009 14:45:26 +0000 (09:45 -0500)
Pointer vs addresses a VncDisplay structure,
so it is sufficient to allocate sizeof(VncDisplay)
or sizeof(*vs) bytes instead of the much larger
sizeof(VncState).

Maybe the misleading name should be fixed, too:
the code contains many places where vs is used,
sometimes it is a VncState *, sometimes it is a
VncDisplay *. vd would be a better name.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

vnc.c

diff --git a/vnc.c b/vnc.c
index 3f5d622..41defc2 100644 (file)
--- a/vnc.c
+++ b/vnc.c
@@ -2033,9 +2033,8 @@ static void vnc_listen_read(void *opaque)
 
 void vnc_display_init(DisplayState *ds)
 {
-    VncDisplay *vs;
+    VncDisplay *vs = qemu_mallocz(sizeof(*vs));
 
-    vs = qemu_mallocz(sizeof(VncState));
     dcl = qemu_mallocz(sizeof(DisplayChangeListener));
 
     ds->opaque = vs;