layers: Check for NULL pointer with dynamic_display()
authorJon Ashburn <jon@lunarg.com>
Wed, 25 Feb 2015 19:45:23 +0000 (12:45 -0700)
committerJon Ashburn <jon@lunarg.com>
Wed, 25 Feb 2015 23:53:34 +0000 (16:53 -0700)
xgl_helper.py

index d372371..6b6a1d1 100755 (executable)
@@ -615,6 +615,8 @@ class StructWrapperGen:
         # Add function to dynamically print out unknown struct
         sh_funcs.append("char* dynamic_display(const void* pStruct, const char* prefix)\n{\n")
         sh_funcs.append("    // Cast to APP_INFO ptr initially just to pull sType off struct\n")
+        sh_funcs.append("    if (pStruct == NULL)\n")
+        sh_funcs.append("        return NULL;\n")
         sh_funcs.append("    XGL_STRUCTURE_TYPE sType = ((XGL_APPLICATION_INFO*)pStruct)->sType;\n")
         sh_funcs.append('    char indent[100];\n    strcpy(indent, "    ");\n    strcat(indent, prefix);\n')
         sh_funcs.append("    switch (sType)\n    {\n")
@@ -758,6 +760,8 @@ class StructWrapperGen:
         # Add function to dynamically print out unknown struct
         sh_funcs.append("string dynamic_display(const void* pStruct, const string prefix)\n{")
         sh_funcs.append("    // Cast to APP_INFO ptr initially just to pull sType off struct")
+        sh_funcs.append("    if (pStruct == NULL)")
+        sh_funcs.append("        return NULL;")
         sh_funcs.append("    XGL_STRUCTURE_TYPE sType = ((XGL_APPLICATION_INFO*)pStruct)->sType;")
         sh_funcs.append('    string indent = "    ";')
         sh_funcs.append('    indent += prefix;')