layers: Fix apidump buffer overruns
diff --git a/xgl-helper.py b/xgl-helper.py
index d06bc9d..448dbc8 100755
--- a/xgl-helper.py
+++ b/xgl-helper.py
@@ -487,7 +487,7 @@
             total_strlen_str = ''
             if 0 != num_stps:
                 sh_funcs.append("    char* tmpStr;\n")
-                sh_funcs.append('    char* extra_indent = (char*)malloc(strlen(prefix) + 2);\n')
+                sh_funcs.append('    char* extra_indent = (char*)malloc(strlen(prefix) + 3);\n')
                 sh_funcs.append('    strcpy(extra_indent, "  ");\n')
                 sh_funcs.append('    strncat(extra_indent, prefix, strlen(prefix));\n')
                 sh_funcs.append("    char dummy_char = '\\0';\n")
@@ -499,7 +499,7 @@
                             sh_funcs.append('        stp_strs[%i] = dynamic_display((XGL_VOID*)pStruct->pNext, prefix);\n' % index)
                         else:
                             sh_funcs.append('        tmpStr = %s(pStruct->%s, extra_indent);\n' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name']))
-                            sh_funcs.append('        stp_strs[%i] = (char*)malloc(256+strlen(tmpStr));\n' % (index))
+                            sh_funcs.append('        stp_strs[%i] = (char*)malloc(256+strlen(tmpStr)+strlen(prefix));\n' % (index))
                             sh_funcs.append('        sprintf(stp_strs[%i], " %%s%s (%%p)\\n%%s", prefix, (void*)pStruct->%s, tmpStr);\n' % (index, stp_list[index]['name'], stp_list[index]['name']))
                         sh_funcs.append('    }\n')
                         sh_funcs.append("    else\n        stp_strs[%i] = &dummy_char;\n" % (index))