From: Kenneth Graunke Date: Thu, 24 Mar 2016 06:46:12 +0000 (-0700) Subject: mesa: Handle negative length in glPushDebugGroup(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d1bb1df87ed8518693730efc80b3a8b9912bb7bf;p=mesa.git mesa: Handle negative length in glPushDebugGroup(). The KHR_debug spec doesn't actually say we should handle this, but that is most likely an oversight - it says to check against strlen and generate errors if length is negative. It appears they just forgot to explicitly spell out that we should then proceed to actually handle it. Fixes crashes from uncaught std::string exceptions in many dEQP-GLES31.functional.debug.error_filters.* tests. Signed-off-by: Kenneth Graunke Reviewed-by: Eduardo Lima Mitev --- diff --git a/src/mesa/main/debug_output.c b/src/mesa/main/debug_output.c index 001f63ea94d..85f64bd459f 100644 --- a/src/mesa/main/debug_output.c +++ b/src/mesa/main/debug_output.c @@ -1189,6 +1189,9 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length, if (!validate_length(ctx, callerstr, length, message)) return; /* GL_INVALID_VALUE */ + if (length < 0) + length = strlen(message); + debug = _mesa_lock_debug_state(ctx); if (!debug) return;