crypto/pem/pem_lib.c:212: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `d2i_PKCS8_PRIV_KEY_INFO`.
Showing all 15 steps of the trace


crypto/pem/pem_lib.c:176:2: Assignment
174.   	EVP_CIPHER_INFO cipher;
175.   	char *nm=NULL,*header=NULL;
176.   	unsigned char *p=NULL,*data=NULL;
        ^
177.   	long len;
178.   	char *ret=NULL;

crypto/pem/pem_lib.c:182:8: Call
180.   	for (;;)
181.   		{
182.   		if (!PEM_read_bio(bp,&nm,&header,&data,&len)) return(NULL);
              ^
183.   		if (	(strcmp(nm,name) == 0) ||
184.   			((strcmp(nm,PEM_STRING_RSA) == 0) &&

crypto/pem/pem_lib.c:584:1: Parameter `**data`
  582.   #endif
  583.   
  584. > int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data,
  585.   	     long *len)
  586.   	{

crypto/pem/pem_lib.c:204:2: Assignment
202.   	if (!PEM_get_EVP_CIPHER_INFO(header,&cipher)) goto err;
203.   	if (!PEM_do_header(&cipher,data,&len,cb,u)) goto err;
204.   	p=data;
        ^
205.   	if (strcmp(name,PEM_STRING_EVP_PKEY) == 0) {
206.   		if (strcmp(nm,PEM_STRING_RSA) == 0)

crypto/pem/pem_lib.c:212:10: Call
210.   		else if (strcmp(nm,PEM_STRING_PKCS8INF) == 0) {
211.   			PKCS8_PRIV_KEY_INFO *p8inf;
212.   			p8inf=d2i_PKCS8_PRIV_KEY_INFO(
                ^
213.   					(PKCS8_PRIV_KEY_INFO **) x, &p, len);
214.   			ret = (char *)EVP_PKCS82PKEY(p8inf);

crypto/asn1/p8_pkey.c:100:1: Parameter `**pp`
  98.   }
  99.   
  100. > PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a,
  101.   	     unsigned char **pp, long length)
  102.   {

crypto/asn1/p8_pkey.c:104:2: Assignment
  102.   {
  103.   	M_ASN1_D2I_vars(a,PKCS8_PRIV_KEY_INFO *,PKCS8_PRIV_KEY_INFO_new);
  104.   	M_ASN1_D2I_Init();
          ^
  105.   	M_ASN1_D2I_start_sequence();
  106.   	M_ASN1_D2I_get (ret->version, d2i_ASN1_INTEGER);

crypto/asn1/p8_pkey.c:105:2: Call
  103.   	M_ASN1_D2I_vars(a,PKCS8_PRIV_KEY_INFO *,PKCS8_PRIV_KEY_INFO_new);
  104.   	M_ASN1_D2I_Init();
  105.   	M_ASN1_D2I_start_sequence();
          ^
  106.   	M_ASN1_D2I_get (ret->version, d2i_ASN1_INTEGER);
  107.   	M_ASN1_D2I_get (ret->pkeyalg, d2i_X509_ALGOR);

crypto/asn1/asn1_lib.c:277:1: Parameter `*c->p`
    275.   	}
    276.   
    277. > int asn1_GetSequence(ASN1_CTX *c, long *length)
    278.   	{
    279.   	unsigned char *q;

crypto/asn1/asn1_lib.c:282:9: Call
    280.   
    281.   	q=c->p;
    282.   	c->inf=ASN1_get_object(&(c->p),&(c->slen),&(c->tag),&(c->xclass),
                   ^
    283.   		*length);
    284.   	if (c->inf & 0x80)

crypto/asn1/asn1_lib.c:83:1: <Length trace>
81.   
82.   
83. > int ASN1_get_object(unsigned char **pp, long *plength, int *ptag, int *pclass,
84.   	     long omax)
85.   	{

crypto/asn1/asn1_lib.c:83:1: Parameter `**pp`
      81.   
      82.   
      83. > int ASN1_get_object(unsigned char **pp, long *plength, int *ptag, int *pclass,
      84.   	     long omax)
      85.   	{

crypto/asn1/asn1_lib.c:88:2: Assignment
      86.   	int i,ret;
      87.   	long l;
      88.   	unsigned char *p= *pp;
             ^
      89.   	int tag,xclass,inf;
      90.   	long max=omax;

crypto/asn1/asn1_lib.c:98:3: Assignment
      96.   	if (i == V_ASN1_PRIMITIVE_TAG)
      97.   		{		/* high-tag */
      98.   		p++;
               ^
      99.   		if (--max == 0) goto err;
      100.   		l=0;

crypto/asn1/asn1_lib.c:101:10: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `d2i_PKCS8_PRIV_KEY_INFO` 
      99.   		if (--max == 0) goto err;
      100.   		l=0;
      101.   		while (*p&0x80)
                      ^
      102.   			{
      103.   			l<<=7L;
