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


crypto/asn1/t_pkey.c:178:3: Assignment
176.   		i=BN_num_bytes(bn)*2;
177.   	else
178.   		i=256;
         ^
179.   	m=(unsigned char *)Malloc((unsigned int)i+10);
180.   	if (m == NULL)

crypto/asn1/t_pkey.c:179:21: Array declaration
177.   	else
178.   		i=256;
179.   	m=(unsigned char *)Malloc((unsigned int)i+10);
                           ^
180.   	if (m == NULL)
181.   		{

crypto/asn1/t_pkey.c:179:2: Assignment
177.   	else
178.   		i=256;
179.   	m=(unsigned char *)Malloc((unsigned int)i+10);
        ^
180.   	if (m == NULL)
181.   		{

crypto/asn1/t_pkey.c:200:32: Call
198.   	if ((x->priv_key != NULL) && !print(bp,"priv:",x->priv_key,m,off))
199.   		goto err;
200.   	if ((x->pub_key  != NULL) && !print(bp,"pub: ",x->pub_key,m,off))
                                      ^
201.   		goto err;
202.   	if ((x->p != NULL) && !print(bp,"P:   ",x->p,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);
