ui/vnc-jobs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
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>
---
ui/vnc-jobs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c
index 886f9bf611..fcca7ec632 100644
--- a/ui/vnc-jobs.c
+++ b/ui/vnc-jobs.c
@@ -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);
--
2.30.2
09.06.2023 12:23, Anastasia Belova wrote:
> 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>
> ---
> ui/vnc-jobs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c
> index 886f9bf611..fcca7ec632 100644
> --- a/ui/vnc-jobs.c
> +++ b/ui/vnc-jobs.c
> @@ -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);
> +
This is a good one, I like it :)
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
It can be applied though -trivial queue.
Thank you!
/mjt
© 2016 - 2025 Red Hat, Inc.