crypto/pem/pem_lib.c:594: error: BUFFER_OVERRUN_L1
  Offset added: -5 Size: [0, +oo].
Showing all 7 steps of the trace


crypto/pem/pem_lib.c:550:1: <Offset trace>
548.   #endif
549.   
550. > int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data,
551.   	     long *len)
552.   	{

crypto/pem/pem_lib.c:550:1: Array declaration
548.   #endif
549.   
550. > int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data,
551.   	     long *len)
552.   	{

crypto/pem/pem_lib.c:585:4: Assignment
583.   		if (strncmp(buf,"-----BEGIN ",11) == 0)
584.   			{
585.   			i=strlen(&(buf[11]));
          ^
586.   
587.   			if (strncmp(&(buf[11+i-6]),"-----\n",6) != 0)

crypto/pem/pem_lib.c:589:9: <Length trace>
587.   			if (strncmp(&(buf[11+i-6]),"-----\n",6) != 0)
588.   				continue;
589.   			if (!BUF_MEM_grow(nameB,i+9))
               ^
590.   				{
591.   				PEMerr(PEM_F_PEM_READ_BIO,ERR_R_MALLOC_FAILURE);

crypto/pem/pem_lib.c:589:9: Call
587.   			if (strncmp(&(buf[11+i-6]),"-----\n",6) != 0)
588.   				continue;
589.   			if (!BUF_MEM_grow(nameB,i+9))
               ^
590.   				{
591.   				PEMerr(PEM_F_PEM_READ_BIO,ERR_R_MALLOC_FAILURE);

crypto/buffer/buffer.c:92:1: Parameter `*str->data`
  90.   	}
  91.   
  92. > int BUF_MEM_grow(BUF_MEM *str, int len)
  93.   	{
  94.   	char *ret;

crypto/pem/pem_lib.c:594:4: Array access: Offset added: -5 Size: [0, +oo]
592.   				goto err;
593.   				}
594.   			memcpy(nameB->data,&(buf[11]),i-6);
          ^
595.   			nameB->data[i-6]='\0';
596.   			break;
