crypto/blake2/blake2s.c:94: 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:80:1: Array declaration
78.   
79.   /* Initialize the hashing context.  Always returns 1. */
80. > int BLAKE2s_Init(BLAKE2S_CTX *c)
81.   {
82.       BLAKE2S_PARAM P[1];

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

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

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

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

crypto/blake2/blake2_impl.h:21:1: Parameter `*src`
    19.   #include "e_os.h"
    20.   
    21. > static ossl_inline uint32_t load32(const uint8_t *src)
    22.   {
    23.       const union {

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