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


apps/engine.c:284:9: Call
282.       if (OSSL_STORE_LOADER_get0_engine(loader) == ctx->engine) {
283.           char buf[256];
284.           BIO_snprintf(buf, sizeof(buf), "STORE(%s)",
               ^
285.                        OSSL_STORE_LOADER_get0_scheme(loader));
286.           if (!append_buf(ctx->cap_buf, ctx->cap_size, buf))

crypto/bio/b_print.c:905:11: Call
  903.       va_start(args, format);
  904.   
  905.       ret = BIO_vsnprintf(buf, n, format, args);
                   ^
  906.   
  907.       va_end(args);

crypto/bio/b_print.c:916:10: Call
    914.       int truncated;
    915.   
    916.       if (!_dopr(&buf, NULL, &n, &retlen, &truncated, format, args))
                    ^
    917.           return -1;
    918.   

crypto/bio/b_print.c:114:22: Call
      112.                   state = DP_S_FLAGS;
      113.               else
      114.                   if (!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch))
                                  ^
      115.                       return 0;
      116.               ch = *format++;

crypto/bio/b_print.c:804:1: Parameter `*maxlen`
        802.   #define BUFFER_INC  1024
        803.   
        804. > static int
        805.   doapr_outch(char **sbuffer,
        806.               char **buffer, size_t *currlen, size_t *maxlen, int c)

apps/engine.c:286:14: Call
284.           BIO_snprintf(buf, sizeof(buf), "STORE(%s)",
285.                        OSSL_STORE_LOADER_get0_scheme(loader));
286.           if (!append_buf(ctx->cap_buf, ctx->cap_size, buf))
                    ^
287.               ctx->ok = 0;
288.       }

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:14: Assignment
  75.           if (blen > 0) {
  76.               p += blen;
  77.               *p++ = ',';
                     ^
  78.               *p++ = ' ';
  79.           }

apps/engine.c:78:13: Array access: Offset: [2, +oo] Size: [1, +oo] by call to `append_buf` 
  76.               p += blen;
  77.               *p++ = ',';
  78.               *p++ = ' ';
                    ^
  79.           }
  80.       }
