mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
mesa: add missing error checks in _mesa_GetObject[Ptr]Label()
Error checking bufSize isn't mentioned in the spec, but it is in the man pages. However, I believe the man page is incorrect. Typically, GL functions that take GLsizei parameters check that they're positive or non-negative. Negative values don't make sense here. A spec bug has been filed with Khronos/ARB. v2: check for negative values, not <= 0.
This commit is contained in:
parent
69daf335a0
commit
79a03068cd
1 changed files with 12 additions and 0 deletions
|
|
@ -256,6 +256,12 @@ _mesa_GetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
char **labelPtr;
|
||||
|
||||
if (bufSize < 0) {
|
||||
_mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectLabel(bufSize = %d)",
|
||||
bufSize);
|
||||
return;
|
||||
}
|
||||
|
||||
labelPtr = get_label_pointer(ctx, identifier, name, "glGetObjectLabel");
|
||||
if (!labelPtr)
|
||||
return;
|
||||
|
|
@ -288,6 +294,12 @@ _mesa_GetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length,
|
|||
char **labelPtr;
|
||||
struct gl_sync_object *const syncObj = (struct gl_sync_object *) ptr;
|
||||
|
||||
if (bufSize < 0) {
|
||||
_mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectPtrLabel(bufSize = %d)",
|
||||
bufSize);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_mesa_validate_sync(ctx, syncObj)) {
|
||||
_mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectPtrLabel (not a valid sync object)");
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue