All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brad Campbell <brad@wasp.net.au>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] VNC Segfault : was Re: Segfault installing Windows XP 32 Bit guest on Linux 64Bit host
Date: Sat, 31 May 2008 10:19:54 +0400	[thread overview]
Message-ID: <4840EE0A.5070109@wasp.net.au> (raw)
In-Reply-To: <83a4d4ca0805301106q2d605edbj5d8e0692860f98a3@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 747 bytes --]

Eduardo Felipe wrote:
> This seems related to a problem discussed here some time ago:

Yep!

> http://lists.gnu.org/archive/html/qemu-devel/2007-10/msg00104.html
> 
> If it is so, to reproduce it just use a client without DesktopSize 
> pseudoencoding and tell the guest OS to scale down his window. A 
> segfault will follow in the next SetPixelFormat received by qemu.
> 
> Regards,
> Edu
> 
> P.S. (I don't know if my original patch already applies)

It was already sorta integrated by the looks of it.. but not completely.

Patch attached.

Thanks all!
Brad
-- 
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams

[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 842 bytes --]

Index: vnc.c
===================================================================
--- vnc.c	(revision 4632)
+++ vnc.c	(working copy)
@@ -307,12 +307,14 @@
     ds->width = w;
     ds->height = h;
     ds->linesize = w * vs->depth;
-    if (vs->csock != -1 && vs->has_resize && size_changed) {
-	vnc_write_u8(vs, 0);  /* msg id */
-	vnc_write_u8(vs, 0);
-	vnc_write_u16(vs, 1); /* number of rects */
-	vnc_framebuffer_update(vs, 0, 0, ds->width, ds->height, -223);
-	vnc_flush(vs);
+    if (size_changed) {
+        if (vs->csock != -1 && vs->has_resize && size_changed) {
+	    vnc_write_u8(vs, 0);  /* msg id */
+	    vnc_write_u8(vs, 0);
+	    vnc_write_u16(vs, 1); /* number of rects */
+	    vnc_framebuffer_update(vs, 0, 0, ds->width, ds->height, -223);
+	    vnc_flush(vs);
+	}
 	vs->width = ds->width;
 	vs->height = ds->height;
     }

  parent reply	other threads:[~2008-05-31  6:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-30 12:20 [Qemu-devel] Segfault installing Windows XP 32 Bit guest on Linux 64Bit host Brad Campbell
2008-05-30 12:49 ` andrzej zaborowski
2008-05-30 14:22   ` Brad Campbell
2008-05-30 14:26     ` Brad Campbell
2008-05-30 14:37     ` [Qemu-devel] VNC Segfault : was " Brad Campbell
2008-05-30 14:50       ` Anthony Liguori
2008-05-30 17:04         ` Brad Campbell
2008-05-30 17:48           ` Anthony Liguori
2008-05-30 18:06             ` Eduardo Felipe
2008-05-30 18:19               ` Anthony Liguori
2008-05-31  6:19               ` Brad Campbell [this message]
2008-05-31  6:21                 ` [PATCH] " Brad Campbell
2008-05-30 18:25             ` Brad Campbell
2008-05-30 18:42             ` Brad Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4840EE0A.5070109@wasp.net.au \
    --to=brad@wasp.net.au \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.