else { reason = ERR_R_PASSED_NULL_PARAMETER; goto err; }
int DHparams_print(BIO *bp, const DH *x)	{	unsigned char *m=NULL;	int reason=ERR_R_BUF_LIB,ret=0;	size_t buf_len=0, i;	if (x->p)		buf_len = (size_t)BN_num_bytes(x->p);	if (x->g)		if (buf_len < (i = (size_t)BN_num_bytes(x->g)))			buf_len = i;	m=(unsigned char *)OPENSSL_malloc(buf_len+10);	if (m == NULL)		{		reason=ERR_R_MALLOC_FAILURE;		goto err;		}	if (BIO_printf(bp,"Diffie-Hellman-Parameters: (%d bit)\n",		BN_num_bits(x->p)) <= 0)		goto err;	if (!print(bp,"prime:",x->p,m,4)) goto err;	if (!print(bp,"generator:",x->g,m,4)) goto err;	if (x->length != 0)		{		if (BIO_printf(bp,"    recommended-private-length: %d bits\n",			(int)x->length) <= 0) goto err;		}	ret=1;	if (0)		{err:		DHerr(DH_F_DHPARAMS_PRINT,reason);		}	if (m != NULL) OPENSSL_free(m);	return(ret);	}