From: Brian Paul Date: Fri, 19 Jun 2009 20:42:37 +0000 (-0600) Subject: st/mesa: restore some parameter checking buffer object functions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa5b81ea8bb3ff163543fe3a8907e7be69e99419;p=mesa.git st/mesa: restore some parameter checking buffer object functions These functions may be called from the VBO code (not just user GL calls) so do some parameter sanity checking. --- diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 1ecf7bf7844..4d9ff01c776 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -98,6 +98,11 @@ st_bufferobj_subdata(GLcontext *ctx, { struct st_buffer_object *st_obj = st_buffer_object(obj); + /* we may be called from VBO code, so double-check params here */ + ASSERT(offset >= 0); + ASSERT(size >= 0); + ASSERT(offset + size <= obj->Size); + st_cond_flush_pipe_buffer_write(st_context(ctx), st_obj->buffer, offset, size, data); } @@ -115,6 +120,11 @@ st_bufferobj_get_subdata(GLcontext *ctx, { struct st_buffer_object *st_obj = st_buffer_object(obj); + /* we may be called from VBO code, so double-check params here */ + ASSERT(offset >= 0); + ASSERT(size >= 0); + ASSERT(offset + size <= obj->Size); + st_cond_flush_pipe_buffer_read(st_context(ctx), st_obj->buffer, offset, size, data); }