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


crypto/asn1/t_pkey.c:348:4: Call
346.   	int reason=ERR_R_BUF_LIB,i,ret=0;
347.   
348.   	i=BN_num_bytes(x->p);
          ^
349.   	m=(unsigned char *)Malloc((unsigned int)i+10);
350.   	if (m == NULL)

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/asn1/t_pkey.c:348:2: Assignment
346.   	int reason=ERR_R_BUF_LIB,i,ret=0;
347.   
348.   	i=BN_num_bytes(x->p);
        ^
349.   	m=(unsigned char *)Malloc((unsigned int)i+10);
350.   	if (m == NULL)

crypto/asn1/t_pkey.c:349:21: Array declaration
347.   
348.   	i=BN_num_bytes(x->p);
349.   	m=(unsigned char *)Malloc((unsigned int)i+10);
                           ^
350.   	if (m == NULL)
351.   		{

crypto/asn1/t_pkey.c:349:2: Assignment
347.   
348.   	i=BN_num_bytes(x->p);
349.   	m=(unsigned char *)Malloc((unsigned int)i+10);
        ^
350.   	if (m == NULL)
351.   		{

crypto/asn1/t_pkey.c:359:7: Call
357.   		BN_num_bits(x->p)) <= 0)
358.   		goto err;
359.   	if (!print(bp,"p:",x->p,m,4)) goto err;
             ^
360.   	if (!print(bp,"q:",x->q,m,4)) goto err;
361.   	if (!print(bp,"g:",x->g,m,4)) goto err;

crypto/asn1/t_pkey.c:221:1: Parameter `*buf`
  219.   #endif /* !NO_DSA */
  220.   
  221. > static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf,
  222.   	     int off)
  223.   	{

crypto/asn1/t_pkey.c:249:5: Call
  247.   			(neg[0] == '-')?" (Negative)":"") <= 0)
  248.   			return(0);
  249.   		n=BN_bn2bin(num,&buf[1]);
             ^
  250.   	
  251.   		if (buf[1] & 0x80)

crypto/bn/bn_lib.c:611:1: <Length trace>
609.   
610.   /* ignore negative */
611. > int BN_bn2bin(BIGNUM *a, unsigned char *to)
612.   	{
613.   	int n,i;

crypto/bn/bn_lib.c:611:1: Parameter `*to`
    609.   
    610.   /* ignore negative */
    611. > int BN_bn2bin(BIGNUM *a, unsigned char *to)
    612.   	{
    613.   	int n,i;

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