crypto/pkcs12/p12_decr.c:137: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `d2i_ASN1_SET`.
Showing all 12 steps of the trace


crypto/pkcs12/p12_decr.c:119:7: Call
117.   	int outlen;
118.   
119.   	if (!PKCS12_pbe_crypt (algor, pass, passlen, oct->data, oct->length,
             ^
120.   			       &out, &outlen, 0)) {
121.   		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, const char *pass,
  72.   	     int passlen, unsigned char *in, int inlen, unsigned char **data,
  73.   	     int *datalen, int en_de)

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

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

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

crypto/asn1/a_set.c:165:2: Assignment
  163.   		ret=(*a);
  164.   
  165.   	c.p= *pp;
          ^
  166.   	c.max=(length == 0)?0:(c.p+length);
  167.   

crypto/asn1/a_set.c:168:8: Call
  166.   	c.max=(length == 0)?0:(c.p+length);
  167.   
  168.   	c.inf=ASN1_get_object(&c.p,&c.slen,&c.tag,&c.xclass,c.max-c.p);
                ^
  169.   	if (c.inf & 0x80) goto err;
  170.   	if (ex_class != c.xclass)

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_ASN1_SET` 
    99.   		if (--max == 0) goto err;
    100.   		l=0;
    101.   		while (*p&0x80)
                    ^
    102.   			{
    103.   			l<<=7L;
