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


crypto/asn1/t_pkey.c:295:4: Call
293.   	int reason=ERR_R_BUF_LIB,i,ret=0;
294.   
295.   	i=BN_num_bytes(x->p);
          ^
296.   	m=(unsigned char *)Malloc((unsigned int)i+10);
297.   	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:295:2: Assignment
293.   	int reason=ERR_R_BUF_LIB,i,ret=0;
294.   
295.   	i=BN_num_bytes(x->p);
        ^
296.   	m=(unsigned char *)Malloc((unsigned int)i+10);
297.   	if (m == NULL)

crypto/asn1/t_pkey.c:296:21: Array declaration
294.   
295.   	i=BN_num_bytes(x->p);
296.   	m=(unsigned char *)Malloc((unsigned int)i+10);
                           ^
297.   	if (m == NULL)
298.   		{

crypto/asn1/t_pkey.c:296:2: Assignment
294.   
295.   	i=BN_num_bytes(x->p);
296.   	m=(unsigned char *)Malloc((unsigned int)i+10);
        ^
297.   	if (m == NULL)
298.   		{

crypto/asn1/t_pkey.c:306:7: Call
304.   		BN_num_bits(x->p)) <= 0)
305.   		goto err;
306.   	if (!print(bp,"prime:",x->p,m,4)) goto err;
             ^
307.   	if (!print(bp,"generator:",x->g,m,4)) goto err;
308.   	if (x->length != 0)

crypto/asn1/t_pkey.c:221:1: <Length trace>
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: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:251:7: Array access: Offset: 1 Size: [0, +oo] by call to `print` 
  249.   		n=BN_bn2bin(num,&buf[1]);
  250.   	
  251.   		if (buf[1] & 0x80)
               ^
  252.   			n++;
  253.   		else	buf++;
