Mesa (master): mesa: Check for a negative "size" parameter in glCopyBufferSubData().

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Jun 11 20:37:28 UTC 2012


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jun  8 22:12:23 2012 -0700

mesa: Check for a negative "size" parameter in glCopyBufferSubData().

>From the GL_ARB_copy_buffer spec:
"An INVALID_VALUE error is generated if any of readoffset, writeoffset,
 or size are negative [...]"

Fixes oglconform's copybuffer/negative.CNNegativeValues test.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/main/bufferobj.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 5415665..846260d 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1360,6 +1360,12 @@ _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
       return;
    }
 
+   if (size < 0) {
+      _mesa_error(ctx, GL_INVALID_VALUE,
+                  "glCopyBufferSubData(writeOffset = %d)", (int) size);
+      return;
+   }
+
    if (readOffset + size > src->Size) {
       _mesa_error(ctx, GL_INVALID_VALUE,
                   "glCopyBufferSubData(readOffset + size = %d)",




More information about the mesa-commit mailing list