Selaa lähdekoodia

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@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
tags/instanced_arrays-v2
Kenneth Graunke 13 vuotta sitten
vanhempi
commit
a75e704326
1 muutettua tiedostoa jossa 6 lisäystä ja 0 poistoa
  1. 6
    0
      src/mesa/main/bufferobj.c

+ 6
- 0
src/mesa/main/bufferobj.c Näytä tiedosto

@@ -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)",

Loading…
Peruuta
Tallenna