OSDN Git Service

vnc: move assert in vnc_worker_thread_loop
authorAnastasia Belova <abelova@astralinux.ru>
Fri, 9 Jun 2023 09:23:06 +0000 (12:23 +0300)
committerMichael Tokarev <mjt@tls.msk.ru>
Fri, 9 Jun 2023 21:00:24 +0000 (00:00 +0300)
job may be NULL if queue->exit is true. Check
it before dereference job.

Fixes: f31f9c1080 ("vnc: add magic cookie to VncState")
Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ui/vnc-jobs.c

index 886f9bf..fcca7ec 100644 (file)
@@ -250,12 +250,13 @@ static int vnc_worker_thread_loop(VncJobQueue *queue)
     /* Here job can only be NULL if queue->exit is true */
     job = QTAILQ_FIRST(&queue->jobs);
     vnc_unlock_queue(queue);
-    assert(job->vs->magic == VNC_MAGIC);
 
     if (queue->exit) {
         return -1;
     }
 
+    assert(job->vs->magic == VNC_MAGIC);
+
     vnc_lock_output(job->vs);
     if (job->vs->ioc == NULL || job->vs->abort == true) {
         vnc_unlock_output(job->vs);