[Mesa-dev] [PATCH 3/3] mesa: add missing error checks in _mesa_GetObject[Ptr]Label()

Timothy Arceri t_arceri at yahoo.com.au
Sun Sep 15 22:37:28 PDT 2013


Hi Brian,

Maybe its just another oversight in the spec but I thought I'd point out that the spec doesnt actually say to test for this in the get label functions. I assumed this was because label can be NULL in which case a bufSize of 0 would be valid. I haven't checked what the Catalyst drivers do yet.

Tim



>----- Original Message -----
>From: Brian Paul <brianp at vmware.com>
>To: mesa-dev at lists.freedesktop.org
>Cc: 
>Sent: Sunday, 15 September 2013 2:16 AM
>Subject: [Mesa-dev] [PATCH 3/3] mesa: add missing error checks in	_mesa_GetObject[Ptr]Label()
>
>---
>src/mesa/main/objectlabel.c |   12 ++++++++++++
>1 file changed, 12 insertions(+)
>
>diff --git a/src/mesa/main/objectlabel.c b/src/mesa/main/objectlabel.c
>index bfe9ba2..c373a46 100644
>--- a/src/mesa/main/objectlabel.c
>+++ b/src/mesa/main/objectlabel.c
>@@ -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;
>-- 
>1.7.10.4



More information about the mesa-dev mailing list