}
rng = lib->crypto->create_rng(lib->crypto, RNG_STRONG);
- if (!rng || !rng->allocate_bytes(rng, p.len, &random))
+ if (!rng || !rng->allocate_bytes(rng, exp_len, &random))
{
DESTROY_IF(rng);
destroy(this);
if (group == MODP_CUSTOM)
{
VA_ARGS_GET(group, g, p);
- return create_generic(group, g, p);
+ return create_generic(group, g, p, p.len);
}
params = diffie_hellman_get_params(group);
{
return NULL;
}
- return create_generic(group, params->generator, params->prime);
+ return create_generic(group, params->generator, params->prime,
+ params->exp_len);
}
#endif