crypto/blake2/blake2s.c:92: error: BUFFER_OVERRUN_L1
  Offset: [3, 31] (⇐ [0, 28] + 3) Size: 1 by call to `blake2s_init_param`.
Showing all 7 steps of the trace


crypto/blake2/blake2s.c:78:1: Array declaration
76.   
77.   /* Initialize the hashing context.  Always returns 1. */
78. > int BLAKE2s_Init(BLAKE2S_CTX *c)
79.   {
80.       BLAKE2S_PARAM P[1];

crypto/blake2/blake2s.c:92:5: Call
90.       memset(P->salt,     0, sizeof(P->salt));
91.       memset(P->personal, 0, sizeof(P->personal));
92.       blake2s_init_param(c, P);
          ^
93.       return 1;
94.   }

crypto/blake2/blake2s.c:72:10: Assignment
  70.       blake2s_init0(S);
  71.       /* IV XOR ParamBlock */
  72.       for (i = 0; i < 8; ++i) {
                 ^
  73.           S->h[i] ^= load32(&p[i*4]);
  74.       }

crypto/blake2/blake2s.c:73:20: Call
  71.       /* IV XOR ParamBlock */
  72.       for (i = 0; i < 8; ++i) {
  73.           S->h[i] ^= load32(&p[i*4]);
                           ^
  74.       }
  75.   }

crypto/blake2/blake2_impl.h:19:1: <Length trace>
17.   #include <string.h>
18.   
19. > static ossl_inline uint32_t load32(const uint8_t *src)
20.   {
21.       const union {

crypto/blake2/blake2_impl.h:19:1: Parameter `*src`
    17.   #include <string.h>
    18.   
    19. > static ossl_inline uint32_t load32(const uint8_t *src)
    20.   {
    21.       const union {

crypto/blake2/blake2_impl.h:34:33: Array access: Offset: [3, 31] (⇐ [0, 28] + 3) Size: 1 by call to `blake2s_init_param` 
    32.                      | ((uint32_t)src[1] <<  8)
    33.                      | ((uint32_t)src[2] << 16)
    34.                      | ((uint32_t)src[3] << 24);
                                          ^
    35.           return w;
    36.       }
