Mesa (master): st/mesa: restore some parameter checking buffer object functions

Brian Paul brianp at kemper.freedesktop.org
Fri Jun 19 20:44:58 UTC 2009


Module: Mesa
Branch: master
Commit: fa5b81ea8bb3ff163543fe3a8907e7be69e99419
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa5b81ea8bb3ff163543fe3a8907e7be69e99419

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Jun 19 14:42:37 2009 -0600

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.

---

 src/mesa/state_tracker/st_cb_bufferobjects.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c
index 1ecf7bf..4d9ff01 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);
 }




More information about the mesa-commit mailing list