crypto/bio/bio_cb.c:106: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] (⇐ [-1, 2147483647] + [0, +oo]) Size: 256 by call to `BIO_snprintf`.
Showing all 14 steps of the trace


crypto/bio/bio_cb.c:65:1: Array declaration
63.   #include <openssl/err.h>
64.   
65. > long BIO_debug_callback(BIO *bio, int cmd, const char *argp,
66.                           int argi, long argl, long ret)
67.   {

crypto/bio/bio_cb.c:80:5: Assignment
78.       len = BIO_snprintf(buf,sizeof buf,"BIO[%p]: ",(void *)bio);
79.   
80.       p = buf + len;
          ^
81.       p_maxlen = sizeof(buf) - len;
82.   

crypto/bio/bio_cb.c:106:9: Call
104.           break;
105.       case BIO_CB_PUTS:
106.           BIO_snprintf(p, p_maxlen, "puts() - %s\n", bio->method->name);
               ^
107.           break;
108.       case BIO_CB_GETS:

crypto/bio/b_print.c:829:1: Parameter `*buf`
  827.    * function should be renamed, but to what?)
  828.    */
  829. > int BIO_snprintf(char *buf, size_t n, const char *format, ...)
  830.   {
  831.       va_list args;

crypto/bio/b_print.c:836:11: Call
  834.       va_start(args, format);
  835.   
  836.       ret = BIO_vsnprintf(buf, n, format, args);
                   ^
  837.   
  838.       va_end(args);

crypto/bio/b_print.c:842:1: Parameter `*buf`
    840.   }
    841.   
    842. > int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
    843.   {
    844.       size_t retlen;

crypto/bio/b_print.c:847:9: Call
    845.       int truncated;
    846.   
    847.       if(!_dopr(&buf, NULL, &n, &retlen, &truncated, format, args))
                   ^
    848.           return -1;
    849.   

crypto/bio/b_print.c:167:1: Parameter `*maxlen`
      165.   #define OSSL_MAX(p,q) ((p >= q) ? p : q)
      166.   
      167. > static int
      168.   _dopr(char **sbuffer,
      169.         char **buffer,

crypto/bio/b_print.c:198:21: Call
      196.                   state = DP_S_FLAGS;
      197.               else
      198.                   if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch))
                                 ^
      199.                       return 0;
      200.               ch = *format++;

crypto/bio/b_print.c:738:1: <Offset trace>
736.   #define BUFFER_INC  1024
737.   
738. > static int
739.   doapr_outch(char **sbuffer,
740.               char **buffer, size_t *currlen, size_t *maxlen, int c)

crypto/bio/b_print.c:738:1: Parameter `*maxlen`
        736.   #define BUFFER_INC  1024
        737.   
        738. > static int
        739.   doapr_outch(char **sbuffer,
        740.               char **buffer, size_t *currlen, size_t *maxlen, int c)

crypto/bio/b_print.c:738:1: <Length trace>
736.   #define BUFFER_INC  1024
737.   
738. > static int
739.   doapr_outch(char **sbuffer,
740.               char **buffer, size_t *currlen, size_t *maxlen, int c)

crypto/bio/b_print.c:738:1: Parameter `**sbuffer`
        736.   #define BUFFER_INC  1024
        737.   
        738. > static int
        739.   doapr_outch(char **sbuffer,
        740.               char **buffer, size_t *currlen, size_t *maxlen, int c)

crypto/bio/b_print.c:773:13: Array access: Offset: [-1, +oo] (⇐ [-1, 2147483647] + [0, +oo]) Size: 256 by call to `BIO_snprintf` 
        771.       if (*currlen < *maxlen) {
        772.           if (*sbuffer)
        773.               (*sbuffer)[(*currlen)++] = (char)c;
                           ^
        774.           else
        775.               (*buffer)[(*currlen)++] = (char)c;
