[Spice-commits] server/red_worker.c

Yonit Halperin yhalperi at kemper.freedesktop.org
Sun May 20 23:00:31 PDT 2012


 server/red_worker.c |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 720d316153d1160ba6114950b0e7f55c86b0ac1c
Author: Yonit Halperin <yhalperi at redhat.com>
Date:   Thu May 17 20:37:20 2012 +0300

    server/video: do not allow non-streamable drawables be stream candidates
    
    Resolves: rhbz#820669
    
    Fix a segfault caused by a call to __red_is_next_stream_frame made by
    red_stream_maintenance, with a drawable that is not a DRAW_COPY one.
    The segfault is a reault of __red_is_next_stream_frame accessing
    red_drawable->u.copy.src_bitmap for a non DRAW_COPY drawable.

diff --git a/server/red_worker.c b/server/red_worker.c
index dd00bff..3a0bdf4 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -2916,6 +2916,10 @@ static inline int __red_is_next_stream_frame(RedWorker *worker,
     RedDrawable *red_drawable;
     int is_frame_container = FALSE;
 
+    if (!candidate->streamable) {
+        return STREAM_FRAME_NONE;
+    }
+
     if (candidate->creation_time - other_time >
             (stream ? RED_STREAM_CONTINUS_MAX_DELTA : RED_STREAM_DETACTION_MAX_DELTA)) {
         return STREAM_FRAME_NONE;


More information about the Spice-commits mailing list