apps/engine.c:409: error: BUFFER_OVERRUN_L3
  Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, +oo] by call to `append_buf`.
Showing all 8 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:409:25: Call
407.                       goto end;
408.                   if (ENGINE_get_RAND(e) != NULL
409.                       && !append_buf(&cap_buf, &cap_size, "RAND"))
                               ^
410.                       goto end;
411.   

apps/engine.c:49:1: <Offset 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 `s->strlen`
  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: <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:82:5: Array access: Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, +oo] by call to `append_buf` 
  80.       }
  81.   
  82.       strcpy(p, s);
            ^
  83.       return 1;
  84.   }
