diff options
author | James Legg <jlegg@feralinteractive.com> | 2016-07-20 10:39:42 +0100 |
---|---|---|
committer | Jose Fonseca <jfonseca@vmware.com> | 2016-07-23 16:46:23 +0100 |
commit | 29b562692c979690e50c24968b9bbf722154bc5a (patch) | |
tree | d2b3debea0614040eecb223c67cfd94e9019cbad /retrace | |
parent | 53e7386ff756f44334d8e3648b3420e407d5eb14 (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.cpp | 4 |
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; |