apps/pkcs12.c:474: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] (⇐ [0, +oo] + 1) Size: [0, +oo] by call to `PKCS12_decrypt_d2i`.
Showing all 13 steps of the trace


apps/pkcs12.c:474:11: Call
472.   					p7->d.encrypted->enc_data->algorithm);
473.   			}
474.   			bags = M_PKCS12_unpack_p7encdata (p7, pass, passlen);
                 ^
475.   		} else continue;
476.   		if (!bags) return 0;

crypto/pkcs12/p12_decr.c:109:1: Parameter `oct->length`
  107.    */
  108.   
  109. > char * PKCS12_decrypt_d2i (X509_ALGOR *algor, char * (*d2i)(),
  110.   	     void (*free_func)(), unsigned char *pass, int passlen,
  111.   	     ASN1_OCTET_STRING *oct, int seq)

crypto/pkcs12/p12_decr.c:117:7: Call
  115.   	int outlen;
  116.   
  117.   	if (!PKCS12_pbe_crypt (algor, pass, passlen, oct->data, oct->length,
               ^
  118.   				 &out, &outlen, 0)) {
  119.   		PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_PKCS12_PBE_CRYPT_ERROR);

crypto/pkcs12/p12_decr.c:71:1: Parameter `**data`
    69.    */
    70.   
    71. > unsigned char * PKCS12_pbe_crypt (X509_ALGOR *algor, unsigned char *pass,
    72.   	     int passlen, unsigned char *in, int inlen, unsigned char **data,
    73.   	     int *datalen, int en_de)

crypto/pkcs12/p12_decr.c:122:2: Assignment
  120.   		return NULL;
  121.   	}
  122.   	p = out;
          ^
  123.   #ifdef DEBUG_DECRYPT
  124.   	{

crypto/pkcs12/p12_decr.c:135:30: Call
  133.   	}
  134.   #endif
  135.   	if (seq & 1) ret = (char *) d2i_ASN1_SET(NULL, &p, outlen, d2i,
                                      ^
  136.   				free_func, V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL);
  137.   	else ret = d2i(NULL, &p, outlen);

crypto/asn1/a_set.c:156:1: Parameter `length`
    154.           }
    155.   
    156. > STACK *d2i_ASN1_SET(STACK **a, unsigned char **pp, long length,
    157.   	     char *(*func)(), void (*free_func)(), int ex_tag, int ex_class)
    158.   	{

crypto/asn1/a_set.c:190:3: Assignment
    188.   	 * as the amount of data passed to us */
    189.   	if (c.inf == (V_ASN1_CONSTRUCTED+1))
    190.   		c.slen=length+ *pp-c.p;
             ^
    191.   	c.max=c.p+c.slen;
    192.   

crypto/asn1/a_set.c:191:2: Assignment
    189.   	if (c.inf == (V_ASN1_CONSTRUCTED+1))
    190.   		c.slen=length+ *pp-c.p;
    191.   	c.max=c.p+c.slen;
            ^
    192.   
    193.   	while (c.p < c.max)

crypto/asn1/a_set.c:197:7: Call
    195.   		char *s;
    196.   
    197.   		if (M_ASN1_D2I_end_sequence()) break;
                 ^
    198.   		if ((s=func(NULL,&c.p,c.slen,c.max-c.p)) == NULL)
    199.   			{

crypto/asn1/asn1_lib.c:74:1: <Length trace>
72.   const char *ASN1_version="ASN.1" OPENSSL_VERSION_PTEXT;
73.   
74. > int ASN1_check_infinite_end(unsigned char **p, long len)
75.   	{
76.   	/* If there is 0 or 1 byte left, the length check should pick

crypto/asn1/asn1_lib.c:74:1: Parameter `**p`
      72.   const char *ASN1_version="ASN.1" OPENSSL_VERSION_PTEXT;
      73.   
      74. > int ASN1_check_infinite_end(unsigned char **p, long len)
      75.   	{
      76.   	/* If there is 0 or 1 byte left, the length check should pick

crypto/asn1/asn1_lib.c:80:44: Array access: Offset: [1, +oo] (⇐ [0, +oo] + 1) Size: [0, +oo] by call to `PKCS12_decrypt_d2i` 
      78.   	if (len <= 0)
      79.   		return(1);
      80.   	else if ((len >= 2) && ((*p)[0] == 0) && ((*p)[1] == 0))
                                                       ^
      81.   		{
      82.   		(*p)+=2;
