From: Julien Isorce Date: Fri, 30 Oct 2015 11:42:51 +0000 (+0000) Subject: st/va: add more errors checks in vlVaBufferSetNumElements and vlVaMapBuffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5e763aaa21654d0591b7da14c573fc03d4a60205;p=mesa.git st/va: add more errors checks in vlVaBufferSetNumElements and vlVaMapBuffer Signed-off-by: Julien Isorce Reviewed-by: Christian König --- diff --git a/src/gallium/state_trackers/va/buffer.c b/src/gallium/state_trackers/va/buffer.c index 8f9ba440a75..f5b9e814c3a 100644 --- a/src/gallium/state_trackers/va/buffer.c +++ b/src/gallium/state_trackers/va/buffer.c @@ -73,6 +73,9 @@ vlVaBufferSetNumElements(VADriverContextP ctx, VABufferID buf_id, return VA_STATUS_ERROR_INVALID_CONTEXT; buf = handle_table_get(VL_VA_DRIVER(ctx)->htab, buf_id); + if (!buf) + return VA_STATUS_ERROR_INVALID_BUFFER; + buf->data = REALLOC(buf->data, buf->size * buf->num_elements, buf->size * num_elements); buf->num_elements = num_elements; @@ -91,6 +94,9 @@ vlVaMapBuffer(VADriverContextP ctx, VABufferID buf_id, void **pbuff) if (!ctx) return VA_STATUS_ERROR_INVALID_CONTEXT; + if (!pbuff) + return VA_STATUS_ERROR_INVALID_PARAMETER; + buf = handle_table_get(VL_VA_DRIVER(ctx)->htab, buf_id); if (!buf) return VA_STATUS_ERROR_INVALID_BUFFER;