crypto/evp/e_aes.c:2178: error: BUFFER_OVERRUN_L3
  Offset added: [2, 16] Size: [0, +oo] by call to `CRYPTO_ccm128_tag`.
Showing all 6 steps of the trace


crypto/evp/e_aes.c:2178:17: Call
2176.               !CRYPTO_ccm128_decrypt(ccm, in, out, len)) {
2177.               unsigned char tag[16];
2178.               if (CRYPTO_ccm128_tag(ccm, tag, cctx->M)) {
                        ^
2179.                   if (!CRYPTO_memcmp(tag, EVP_CIPHER_CTX_buf_noconst(ctx),
2180.                                      cctx->M))

crypto/modes/ccm128.c:469:1: <Offset trace>
467.   }
468.   
469. > size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
470.   {
471.       unsigned int M = (ctx->nonce.c[0] >> 3) & 7; /* the M parameter */

crypto/modes/ccm128.c:469:1: Parameter `len`
  467.   }
  468.   
  469. > size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
  470.   {
  471.       unsigned int M = (ctx->nonce.c[0] >> 3) & 7; /* the M parameter */

crypto/modes/ccm128.c:469:1: <Length trace>
467.   }
468.   
469. > size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
470.   {
471.       unsigned int M = (ctx->nonce.c[0] >> 3) & 7; /* the M parameter */

crypto/modes/ccm128.c:469:1: Parameter `ctx->cmac.c[*]`
  467.   }
  468.   
  469. > size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
  470.   {
  471.       unsigned int M = (ctx->nonce.c[0] >> 3) & 7; /* the M parameter */

crypto/modes/ccm128.c:477:5: Array access: Offset added: [2, 16] Size: [0, +oo] by call to `CRYPTO_ccm128_tag` 
  475.       if (len < M)
  476.           return 0;
  477.       memcpy(tag, ctx->cmac.c, M);
             ^
  478.       return M;
  479.   }
