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

Author: Brian Paul <[email protected]>
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);
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to