[Spice-commits] 4 commits - NEWS gtk/Makefile.am gtk/continuation.c gtk/spice-pulse.c

Marc-André Lureau elmarco at kemper.freedesktop.org
Wed Nov 27 02:14:30 PST 2013


 NEWS               |   14 ++++++++++++++
 gtk/Makefile.am    |    2 +-
 gtk/continuation.c |    8 ++++++--
 gtk/spice-pulse.c  |    5 ++++-
 4 files changed, 25 insertions(+), 4 deletions(-)

New commits:
commit 2e3aa29794bb74170ac5137b9ba68c85c1bfb8ff
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Tue Nov 26 18:53:24 2013 +0100

    Release v0.22
    
    v0.22
    =====
    
    - improve inverted cursor support
    - use system-wide trust certificate store
    - make sasl support work with other method than MD5
    - fix some clipboard crasher, limit clipboard size
    - fix various regressions:
      usbredir, alt-tab on win32, palette crash, agent notification, old
      protocol support, sasl ending crash, gthread coroutine crash, close
      sockets on migration, pulse backend crash
    - fix a few memory leaks
    - build-sys improvements

diff --git a/NEWS b/NEWS
index 8ecae50..f61c77f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,17 @@
+v0.22
+=====
+
+- improve inverted cursor support
+- use system-wide trust certificate store
+- make sasl support work with other method than MD5
+- fix some clipboard crasher, limit clipboard size
+- fix various regressions:
+  usbredir, alt-tab on win32, palette crash, agent notification, old
+  protocol support, sasl ending crash, gthread coroutine crash, close
+  sockets on migration, pulse backend crash
+- fix a few memory leaks
+- build-sys improvements
+
 v0.21
 =====
 
commit c48b516f8ed52f4983073bb99055fea25cb12aa5
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Tue Nov 26 19:49:20 2013 +0100

    build-sys: bump spice-glib version
    
    new symbols in spice-glib, bump before release

diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 5af6642..9c7300f 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -173,7 +173,7 @@ nodist_libspice_client_gtkinclude_HEADERS =	\
 	$(NULL)
 
 libspice_client_glib_2_0_la_LDFLAGS =	\
-	-version-info 12:0:4		\
+	-version-info 13:0:5		\
 	-no-undefined			\
 	$(GLIB_VERSION_LDFLAGS)		\
 	$(NULL)
commit e9c615c1742dc30f0917a148eb3cffcaf893d934
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Tue Nov 26 19:38:24 2013 +0100

    continuation: fix "fortify" crash
    
    Since 0508f586,  errno.h is included above #undef _FORTIFY_SOURCE.
    
    But it must be placed above system headers to take effect
    
     *** longjmp causes uninitialized stack frame ***:
     /home/jwhite/xfer/spice/bin/spicy terminated
     ======= Backtrace: =========
     /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffff48dc2a7]
     /lib/x86_64-linux-gnu/libc.so.6(+0xef239)[0x7ffff48dc239]
     /lib/x86_64-linux-gnu/libc.so.6(__longjmp_chk+0x33)[0x7ffff48dc1a3]
     /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x49761)[0x7ffff78f1761]
     /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x499a4)[0x7ffff78f19a4]
     /home/jwhite/xfer/spice/lib/libspice-client-glib-2.0.so.8(+0x1bae7)[0x7ffff78c3ae7]
     /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x7ffff505f355]
     /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a688)[0x7ffff505f688]
     /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x72)[0x7ffff505fa82]
     /home/jwhite/xfer/spice/bin/spicy[0x4054aa]
     /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7ffff480bead]
     /home/jwhite/xfer/spice/bin/spicy[0x405679]

diff --git a/gtk/continuation.c b/gtk/continuation.c
index d1249d6..e33d05a 100644
--- a/gtk/continuation.c
+++ b/gtk/continuation.c
@@ -18,10 +18,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
  */
 #include <config.h>
-#include <errno.h>
-#include <glib.h>
 
+/* keep this above system headers, but below config.h */
+#ifdef _FORTIFY_SOURCE
 #undef _FORTIFY_SOURCE
+#endif
+
+#include <errno.h>
+#include <glib.h>
 
 #include "continuation.h"
 
commit 880fb96e76909893cc9574ffe685f2071c4ae562
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Mon Nov 25 13:32:48 2013 +0100

    pulse: do not abort on corking no stream
    
    There is no guarantee that a stream actually exist when min-latency
    change is notified.
    
    Check that there is an actual stream before calling cork().  All callers
    where previously checking that stream existed. Add a pre-condition to
    verify argument and spot that error is from spice-gtk itself.
    
    Fixes the following crash:
     #1  0x0000003c12e34105 in abort () at abort.c:92
     #2  0x0000003c2c223180 in pa_stream_is_corked (s=0x0) at
     pulse/stream.c:2536
     #3  0x0000003c2c648cb7 in stream_cork (pulse=<value optimized out>,
     s=0x7fbb38, with_flush=0) at spice-pulse.c:227
     #4  0x0000003c2c649989 in playback_min_latency_changed (object=<value
     optimized out>, pspec=<value optimized out>, data=0x7fbad0) at
     spice-pulse.c:674
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1032785

diff --git a/gtk/spice-pulse.c b/gtk/spice-pulse.c
index 5e214c8..c4241d0 100644
--- a/gtk/spice-pulse.c
+++ b/gtk/spice-pulse.c
@@ -161,6 +161,8 @@ static void stream_uncork(SpicePulse *pulse, struct stream *s)
     SpicePulsePrivate *p = SPICE_PULSE_GET_PRIVATE(pulse);
     pa_operation *o = NULL;
 
+    g_return_if_fail(s->stream);
+
     if (s->cork_op) {
         pa_operation_cancel(s->cork_op);
         pa_operation_unref(s->cork_op);
@@ -671,7 +673,8 @@ static void playback_min_latency_changed(GObject *object, GParamSpec *pspec, gpo
 
     if (p->last_delay < p->target_delay) {
         spice_debug("%s: corking", __FUNCTION__);
-        stream_cork(pulse, &p->playback, FALSE);
+        if (p->playback.stream)
+            stream_cork(pulse, &p->playback, FALSE);
     } else {
         spice_debug("%s: not corking. The current delay satisfies the requirement", __FUNCTION__);
     }


More information about the Spice-commits mailing list