From: Tapani Pälli Date: Fri, 7 Oct 2016 05:41:15 +0000 (+0300) Subject: mesa: throw error if bufSize negative in GetSynciv on OpenGL ES X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d7e0f35c54f49c3280eea308a652253cb3bde46;p=mesa.git mesa: throw error if bufSize negative in GetSynciv on OpenGL ES Fixes following dEQP tests: dEQP-GLES31.functional.debug.negative_coverage.callbacks.state.get_synciv dEQP-GLES31.functional.debug.negative_coverage.get_error.state.get_synciv dEQP-GLES31.functional.debug.negative_coverage.log.state.get_synciv v2: drop _mesa_is_gles check (Kenneth) Signed-off-by: Tapani Pälli Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98133 Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c index be758dd1241..a3124e40056 100644 --- a/src/mesa/main/syncobj.c +++ b/src/mesa/main/syncobj.c @@ -425,6 +425,14 @@ _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, return; } + /* Section 4.1.3 (Sync Object Queries) of the OpenGL ES 3.10 spec says: + * + * "An INVALID_VALUE error is generated if bufSize is negative." + */ + if (bufSize < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glGetSynciv(pname=0x%x)\n", pname); + } + if (size > 0 && bufSize > 0) { const GLsizei copy_count = MIN2(size, bufSize);