crypto/asn1/t_pkey.c:125: error: BUFFER_OVERRUN_L3
  Offset: [1, +oo] Size: [0, +oo] by call to `print`.
Showing all 13 steps of the trace


crypto/asn1/t_pkey.c:101:4: Call
99.   	int i,ret=0;
100.   
101.   	i=RSA_size(x);
          ^
102.   	m=(unsigned char *)Malloc((unsigned int)i+10);
103.   	if (m == NULL)

crypto/rsa/rsa_lib.c:190:9: Call
  188.   int RSA_size(RSA *r)
  189.   	{
  190.   	return(BN_num_bytes(r->n));
                 ^
  191.   	}
  192.   

crypto/bn/bn_lib.c:245:19: Assignment
    243.   	bn_check_top(a);
    244.   
    245.   	if (a->top == 0) return(0);
                             ^
    246.   	l=a->d[a->top-1];
    247.   	i=(a->top-1)*BN_BITS2;

crypto/rsa/rsa_lib.c:190:2: Assignment
  188.   int RSA_size(RSA *r)
  189.   	{
  190.   	return(BN_num_bytes(r->n));
          ^
  191.   	}
  192.   

crypto/asn1/t_pkey.c:101:2: Assignment
99.   	int i,ret=0;
100.   
101.   	i=RSA_size(x);
        ^
102.   	m=(unsigned char *)Malloc((unsigned int)i+10);
103.   	if (m == NULL)

crypto/asn1/t_pkey.c:102:21: Array declaration
100.   
101.   	i=RSA_size(x);
102.   	m=(unsigned char *)Malloc((unsigned int)i+10);
                           ^
103.   	if (m == NULL)
104.   		{

crypto/asn1/t_pkey.c:102:2: Assignment
100.   
101.   	i=RSA_size(x);
102.   	m=(unsigned char *)Malloc((unsigned int)i+10);
        ^
103.   	if (m == NULL)
104.   		{

crypto/asn1/t_pkey.c:125:7: Call
123.   	else
124.   		strcpy(str,"modulus:");
125.   	if (!print(bp,str,x->n,m,off)) goto err;
             ^
126.   	s=(x->d == NULL)?"Exponent:":"publicExponent:";
127.   	if (!print(bp,s,x->e,m,off)) goto err;

crypto/asn1/t_pkey.c:212:1: Parameter `*buf`
  210.   #endif /* !NO_DSA */
  211.   
  212. > static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf,
  213.   	     int off)
  214.   	{

crypto/asn1/t_pkey.c:240:5: Call
  238.   			(neg[0] == '-')?" (Negative)":"") <= 0)
  239.   			return(0);
  240.   		n=BN_bn2bin(num,&buf[1]);
             ^
  241.   	
  242.   		if (buf[1] & 0x80)

crypto/bn/bn_lib.c:632:1: <Length trace>
630.   
631.   /* ignore negative */
632. > int BN_bn2bin(const BIGNUM *a, unsigned char *to)
633.   	{
634.   	int n,i;

crypto/bn/bn_lib.c:632:1: Parameter `*to`
    630.   
    631.   /* ignore negative */
    632. > int BN_bn2bin(const BIGNUM *a, unsigned char *to)
    633.   	{
    634.   	int n,i;

crypto/bn/bn_lib.c:641:3: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `print` 
    639.   		{
    640.   		l=a->d[i/BN_BYTES];
    641.   		*(to++)=(unsigned char)(l>>(8*(i%BN_BYTES)))&0xff;
             ^
    642.   		}
    643.   	return(n);
