diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2016-01-19 14:14:34 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-02-10 12:01:25 +1000 |
commit | f58e985a63d1ac579bb3bb48cc49ec0fdff7d3ed (patch) | |
tree | 45e6b0ad38310be467500500d730c4d42ed5acdd | |
parent | b079de618e6e68c94739f5c2615367e63509c3af (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.c | 5 |
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; } |