crypto/asn1/n_pkey.c:149: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `i2d_RSAPrivateKey`.
Showing all 15 steps of the trace


crypto/asn1/n_pkey.c:110:7: Call
108.   	pkey->algor->parameter->type=V_ASN1_NULL;
109.   
110.   	l[0]=i2d_RSAPrivateKey(a,NULL);
             ^
111.   	pkey->private_key->length=l[0];
112.   

crypto/asn1/i2d_r_pr.c:75:17: Assignment
  73.   	unsigned char *p;
  74.   
  75.   	if (a == NULL) return(0);
                        ^
  76.   
  77.   	num[1]=a->n;

crypto/asn1/n_pkey.c:110:2: Assignment
108.   	pkey->algor->parameter->type=V_ASN1_NULL;
109.   
110.   	l[0]=i2d_RSAPrivateKey(a,NULL);
        ^
111.   	pkey->private_key->length=l[0];
112.   

crypto/asn1/n_pkey.c:143:48: Array declaration
141.   	if (pkey->private_key->data != NULL)
142.   		Free((char *)pkey->private_key->data);
143.   	if ((pkey->private_key->data=(unsigned char *)Malloc(l[0])) == NULL)
                                                      ^
144.   		{
145.   		ASN1err(ASN1_F_I2D_NETSCAPE_RSA,ERR_R_MALLOC_FAILURE);

crypto/asn1/n_pkey.c:143:7: Assignment
141.   	if (pkey->private_key->data != NULL)
142.   		Free((char *)pkey->private_key->data);
143.   	if ((pkey->private_key->data=(unsigned char *)Malloc(l[0])) == NULL)
             ^
144.   		{
145.   		ASN1err(ASN1_F_I2D_NETSCAPE_RSA,ERR_R_MALLOC_FAILURE);

crypto/asn1/n_pkey.c:148:2: Assignment
146.   		goto err;
147.   		}
148.   	zz=pkey->private_key->data;
        ^
149.   	i2d_RSAPrivateKey(a,&zz);
150.   

crypto/asn1/n_pkey.c:149:2: Call
147.   		}
148.   	zz=pkey->private_key->data;
149.   	i2d_RSAPrivateKey(a,&zz);
        ^
150.   
151.   	if ((os2.data=(unsigned char *)Malloc(os2.length)) == NULL)

crypto/asn1/i2d_r_pr.c:67:1: Parameter `**pp`
  65.   #include <openssl/asn1_mac.h>
  66.   
  67. > int i2d_RSAPrivateKey(RSA *a, unsigned char **pp)
  68.   	{
  69.   	BIGNUM *num[9];

crypto/asn1/i2d_r_pr.c:105:2: Assignment
  103.   	if (pp == NULL) return(t);
  104.   
  105.   	p= *pp;
          ^
  106.   	ASN1_put_object(&p,1,tot,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL);
  107.   

crypto/asn1/i2d_r_pr.c:106:2: Call
  104.   
  105.   	p= *pp;
  106.   	ASN1_put_object(&p,1,tot,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL);
          ^
  107.   
  108.   	i2d_ASN1_INTEGER(&bs,&p);

crypto/asn1/asn1_lib.c:180:1: <Length trace>
178.   /* class 0 is constructed
179.    * constructed == 2 for indefinitle length constructed */
180. > void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag,
181.   	     int xclass)
182.   	{

crypto/asn1/asn1_lib.c:180:1: Parameter `**pp`
    178.   /* class 0 is constructed
    179.    * constructed == 2 for indefinitle length constructed */
    180. > void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag,
    181.   	     int xclass)
    182.   	{

crypto/asn1/asn1_lib.c:183:2: Assignment
    181.   	     int xclass)
    182.   	{
    183.   	unsigned char *p= *pp;
            ^
    184.   	int i;
    185.   

crypto/asn1/asn1_lib.c:192:5: Assignment
    190.   	else
    191.   		{
    192.   		*(p++)=i|V_ASN1_PRIMATIVE_TAG;
               ^
    193.   		while (tag > 0x7f)
    194.   			{

crypto/asn1/asn1_lib.c:198:3: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `i2d_RSAPrivateKey` 
    196.   			tag>>=7;
    197.   			}
    198.   		*(p++)=(tag&0x7f);
             ^
    199.   		}
    200.   	if ((constructed == 2) && (length == 0))
