crypto/pem/pem_lib.c:85: error: BUFFER_OVERRUN_L2
  Offset: [min(8, `str[*].strlen`), max(9, `str[*].strlen`)] Size: 9.
Showing all 5 steps of the trace


crypto/pem/pem_lib.c:71:1: <Offset trace>
69.   }
70.   
71. > void PEM_proc_type(char *buf, int type)
72.   {
73.       const char *str;

crypto/pem/pem_lib.c:71:1: Parameter `str[*].strlen`
69.   }
70.   
71. > void PEM_proc_type(char *buf, int type)
72.   {
73.       const char *str;

crypto/pem/pem_lib.c:76:9: <Length trace>
74.   
75.       if (type == PEM_TYPE_ENCRYPTED)
76.           str = "ENCRYPTED";
              ^
77.       else if (type == PEM_TYPE_MIC_CLEAR)
78.           str = "MIC-CLEAR";

crypto/pem/pem_lib.c:76:9: Array declaration
74.   
75.       if (type == PEM_TYPE_ENCRYPTED)
76.           str = "ENCRYPTED";
              ^
77.       else if (type == PEM_TYPE_MIC_CLEAR)
78.           str = "MIC-CLEAR";

crypto/pem/pem_lib.c:85:5: Array access: Offset: [min(8, str[*].strlen), max(9, str[*].strlen)] Size: 9
83.   
84.       strcat(buf, "Proc-Type: 4,");
85.       strcat(buf, str);
          ^
86.       strcat(buf, "\n");
87.   }

void PEM_proc_type(char *buf, int type)
{
    const char *str;
    if (type == PEM_TYPE_ENCRYPTED)
        str = "ENCRYPTED";
    else if (type == PEM_TYPE_MIC_CLEAR)
        str = "MIC-CLEAR";
    else if (type == PEM_TYPE_MIC_ONLY)
        str = "MIC-ONLY";
    else
        str = "BAD-TYPE";
    strcat(buf, "Proc-Type: 4,");
    strcat(buf, str);
    strcat(buf, "\n");
}
['void PEM_proc_type(char *buf, int type)\n{\n    const char *str;\n    if (type == PEM_TYPE_ENCRYPTED)\n        str = "ENCRYPTED";\n    else if (type == PEM_TYPE_MIC_CLEAR)\n        str = "MIC-CLEAR";\n    else if (type == PEM_TYPE_MIC_ONLY)\n        str = "MIC-ONLY";\n    else\n        str = "BAD-TYPE";\n    strcat(buf, "Proc-Type: 4,");\n    strcat(buf, str);\n    strcat(buf, "\\n");\n}']