]> git.cworth.org Git - apitrace/blobdiff - wrappers/gltrace.py
trace: Protect against uninitialized pointers if debug extensions are not exposed...
[apitrace] / wrappers / gltrace.py
index 7bf2a3507a4169dec9b56c8ef5cdcf055fb09408..63ddf9d663d351a7a2049036335a22ea5d97d2d4 100644 (file)
@@ -757,6 +757,15 @@ class GlTracer(Tracer):
         if function.name in self.marker_functions:
             return
 
+        # We may be faking KHR_debug, so ensure the pointer queries result is
+        # always zeroed to prevent dereference of unitialized pointers
+        if function.name == 'glGetPointerv':
+            print '    if (params &&'
+            print '        (pname == GL_DEBUG_CALLBACK_FUNCTION ||'
+            print '         pname == GL_DEBUG_CALLBACK_USER_PARAM)) {'
+            print '        *params = NULL;'
+            print '    }'
+
         if function.name in self.getProcAddressFunctionNames:
             else_ = ''
             for marker_function in self.marker_functions: