if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) <= 0)
if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0)
int PKCS12_setup_mac (PKCS12 *p12, int iter, unsigned char *salt, int saltlen,	     EVP_MD *md_type){	if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR;	if (iter > 1) {		if(!(p12->mac->iter = M_ASN1_INTEGER_new())) {			PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);			return 0;		}		ASN1_INTEGER_set(p12->mac->iter, iter);	}	if (!saltlen) saltlen = PKCS12_SALT_LEN;	p12->mac->salt->length = saltlen;	if (!(p12->mac->salt->data = Malloc (saltlen))) {		PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);		return 0;	}	if (!salt) {		if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) <= 0)			return 0;	}	else memcpy (p12->mac->salt->data, salt, saltlen);	p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));	if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {		PKCS12err(PKCS12_F_PKCS12_SETUP_MAC, ERR_R_MALLOC_FAILURE);		return 0;	}	p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;		return 1;}