crypto/modes/ccm128.c:65: error: BUFFER_OVERRUN_L3
  Offset added: 16 Size: [0, +oo].
Showing all 3 steps of the trace


crypto/modes/ccm128.c:62:1: <Length trace>
60.   
61.   /* First you setup M and L parameters and pass the key schedule */
62. > void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx,
63.   	unsigned int M,unsigned int L,void *key,block128_f block)
64.   {

crypto/modes/ccm128.c:62:1: Parameter `ctx->nonce.c[*]`
60.   
61.   /* First you setup M and L parameters and pass the key schedule */
62. > void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx,
63.   	unsigned int M,unsigned int L,void *key,block128_f block)
64.   {

crypto/modes/ccm128.c:65:2: Array access: Offset added: 16 Size: [0, +oo]
63.   	unsigned int M,unsigned int L,void *key,block128_f block)
64.   {
65.   	memset(ctx->nonce.c,0,sizeof(ctx->nonce.c));
       ^
66.   	ctx->nonce.c[0] = ((u8)(L-1)&7) | (u8)(((M-2)/2)&7)<<3;
67.   	ctx->blocks = 0;

void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx,
	unsigned int M,unsigned int L,void *key,block128_f block)
{
	memset(ctx->nonce.c,0,sizeof(ctx->nonce.c));
	ctx->nonce.c[0] = ((u8)(L-1)&7) | (u8)(((M-2)/2)&7)<<3;
	ctx->blocks = 0;
	ctx->block = block;
	ctx->key = key;
}
['void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx,\n\tunsigned int M,unsigned int L,void *key,block128_f block)\n{\n\tmemset(ctx->nonce.c,0,sizeof(ctx->nonce.c));\n\tctx->nonce.c[0] = ((u8)(L-1)&7) | (u8)(((M-2)/2)&7)<<3;\n\tctx->blocks = 0;\n\tctx->block = block;\n\tctx->key = key;\n}']