apps/engine.c:403: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `append_buf`.
Showing all 7 steps of the trace


apps/engine.c:392:17: Assignment
390.               if (list_cap) {
391.                   int cap_size = 256;
392.                   char *cap_buf = NULL;
                       ^
393.                   int k, n;
394.                   const int *nids;

apps/engine.c:403:25: Call
401.                       goto end;
402.                   if (ENGINE_get_DSA(e) != NULL
403.                       && !append_buf(&cap_buf, &cap_size, "DSA"))
                               ^
404.                       goto end;
405.                   if (ENGINE_get_DH(e) != NULL

apps/engine.c:49:1: <Length trace>
47.   };
48.   
49. > static int append_buf(char **buf, int *size, const char *s)
50.   {
51.       const int expand = 256;

apps/engine.c:49:1: Parameter `**buf`
  47.   };
  48.   
  49. > static int append_buf(char **buf, int *size, const char *s)
  50.   {
  51.       const int expand = 256;

apps/engine.c:53:5: Assignment
  51.       const int expand = 256;
  52.       int len = strlen(s) + 1;
  53.       char *p = *buf;
            ^
  54.   
  55.       if (p == NULL) {

apps/engine.c:76:13: Assignment
  74.   
  75.           if (blen > 0) {
  76.               p += blen;
                    ^
  77.               *p++ = ',';
  78.               *p++ = ' ';

apps/engine.c:77:13: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `append_buf` 
  75.           if (blen > 0) {
  76.               p += blen;
  77.               *p++ = ',';
                    ^
  78.               *p++ = ' ';
  79.           }
