summaryrefslogtreecommitdiff
path: root/retrace
diff options
context:
space:
mode:
authorJames Legg <jlegg@feralinteractive.com>2016-07-20 10:39:42 +0100
committerJose Fonseca <jfonseca@vmware.com>2016-07-23 16:46:23 +0100
commit29b562692c979690e50c24968b9bbf722154bc5a (patch)
treed2b3debea0614040eecb223c67cfd94e9019cbad /retrace
parent53e7386ff756f44334d8e3648b3420e407d5eb14 (diff)
glretrace: Avoid nullptr dereference if buffer mapping fails.
Fixes https://github.com/apitrace/apitrace/issues/427
Diffstat (limited to 'retrace')
-rw-r--r--retrace/glstate_shaders.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/retrace/glstate_shaders.cpp b/retrace/glstate_shaders.cpp
index 6f745f4b..c2fc03b8 100644
--- a/retrace/glstate_shaders.cpp
+++ b/retrace/glstate_shaders.cpp
@@ -936,6 +936,10 @@ dumpVertexAttributes(StateWriter &writer, Context &context, GLint program)
BufferMapping &mapping = mappings[buffer];
attrib.map = (const GLbyte *)mapping.map(GL_ARRAY_BUFFER, buffer);
+ if (!attrib.map) {
+ std::cerr << "warning: could not map buffer for attribute " << &name[0] << ", skipping vertex attribute dump\n";
+ return;
+ }
BufferBinding bb(GL_ARRAY_BUFFER, buffer);
GLint bufferSize = 0;