From 19d0ca4e299be52293f388c816316be228a8006e Mon Sep 17 00:00:00 2001 From: Vasiliy Ulyanov Date: Tue, 21 Oct 2014 18:01:06 +0400 Subject: [PATCH] VIGS: add NULL checks when screen capturing - root_sfc may be NULL - pixels buffer may be NULL Change-Id: Icc7a4d2ca486bc08273da3158b823e9c4c090592 Signed-off-by: Vasiliy Ulyanov --- hw/vigs/vigs_onscreen_server.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hw/vigs/vigs_onscreen_server.c b/hw/vigs/vigs_onscreen_server.c index 4c51c17678..8a06219b26 100644 --- a/hw/vigs/vigs_onscreen_server.c +++ b/hw/vigs/vigs_onscreen_server.c @@ -43,12 +43,15 @@ static void vigs_onscreen_server_capture_work(struct work_queue_item *wq_item) { struct vigs_capture_work_item *item = (struct vigs_capture_work_item*)wq_item; struct vigs_onscreen_server *server = item->server; + struct vigs_surface *root_sfc = server->base.root_sfc; + bool captured = false; uint32_t width, height; - bool captured; void *pixels; pixels = vigs_server_get_capture_buffer(&server->base, &width, &height); - captured = server->base.backend->capture(server->base.root_sfc, pixels); + if (root_sfc && pixels) { + captured = server->base.backend->capture(root_sfc, pixels); + } server->capture_ops->process_captured(captured, pixels, width, height); g_free(item); -- 2.34.1