On Fri, Oct 30, 2015 at 12:10:10PM +0100, Gerd Hoffmann wrote: It isn't entirely obvious what bug is being fixed here, perhaps a little more info in the commit message would help.
> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > ui/vnc-jobs.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c > index fd9ed39..12389cc 100644 > --- a/ui/vnc-jobs.c > +++ b/ui/vnc-jobs.c > @@ -185,6 +185,9 @@ void vnc_jobs_consume_buffer(VncState *vs) > */ > static void vnc_async_encoding_start(VncState *orig, VncState *local) > { > + buffer_init(&local->output, "vnc-worker-output"); > + local->csock = -1; /* Don't do any network work on this thread */ > + > local->vnc_encoding = orig->vnc_encoding; > local->features = orig->features; > local->vd = orig->vd; > @@ -196,7 +199,6 @@ static void vnc_async_encoding_start(VncState *orig, > VncState *local) > local->zlib = orig->zlib; > local->hextile = orig->hextile; > local->zrle = orig->zrle; > - local->csock = -1; /* Don't do any network work on this thread */ > } > > static void vnc_async_encoding_end(VncState *orig, VncState *local) > @@ -212,12 +214,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue) > { > VncJob *job; > VncRectEntry *entry, *tmp; > - VncState vs; > + VncState vs = {}; Ok, so we'd not initialized memory in VncState to all zeros before. > int n_rectangles; > int saved_offset; > > - buffer_init(&vs.output, "vnc-worker-output"); > - > vnc_lock_queue(queue); > while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) { > qemu_cond_wait(&queue->cond, &queue->mutex); Reviewed-by: Daniel P. Berrange <berra...@redhat.com> > -- > 1.8.3.1 > Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|