Mesa (master): mesa/main: Prevent sefgault on glGetIntegerv( GL_ATOMIC_COUNTER_BUFFER_BINDING).
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sun Jun 8 08:43:26 UTC 2014
Module: Mesa
Branch: master
Commit: eb58aa9cf015e79a0fcf2e088676e6aa1d5dabce
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb58aa9cf015e79a0fcf2e088676e6aa1d5dabce
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Jun 6 23:59:18 2014 +0100
mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).
A recent ApiTrace change, that tries to dump more buffer state
causes Mesa from my distro (10.1.4) to segfaults here.
I haven't actually confirm this fixes it (I can't repro on master),
but it seems a good idea to be defensive here anyway.
Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/main/get.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 267b5f2..9b56edb 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1005,7 +1005,11 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
break;
/* GL_ARB_shader_atomic_counters */
case GL_ATOMIC_COUNTER_BUFFER_BINDING:
- v->value_int = ctx->AtomicBuffer->Name;
+ if (ctx->AtomicBuffer) {
+ v->value_int = ctx->AtomicBuffer->Name;
+ } else {
+ v->value_int = 0;
+ }
break;
/* GL_ARB_draw_indirect */
case GL_DRAW_INDIRECT_BUFFER_BINDING:
More information about the mesa-commit
mailing list