summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2016-01-19 14:14:34 +0100
committerDave Airlie <airlied@redhat.com>2016-02-10 12:01:25 +1000
commitf58e985a63d1ac579bb3bb48cc49ec0fdff7d3ed (patch)
tree45e6b0ad38310be467500500d730c4d42ed5acdd
parentb079de618e6e68c94739f5c2615367e63509c3af (diff)
renderer: report error on invalid surface
Instead of later crashing. Fix found thanks to american fuzzy lop. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-rw-r--r--src/vrend_renderer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 20d2946..5374f09 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -1530,7 +1530,10 @@ void vrend_set_framebuffer_state(struct vrend_context *ctx,
break;
}
}
- assert(surf);
+ if (surf == NULL) {
+ report_context_error(ctx, VIRGL_ERROR_CTX_ILLEGAL_SURFACE, i);
+ return;
+ }
new_height = u_minify(surf->texture->base.height0, surf->val0);
new_ibf = surf->texture->y_0_top ? true : false;
}