X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=dh.c;h=c37b5386359294f856fb08eaf156a4c2ca586856;hp=2383192fdc4ea2e807fc353e30b67e9a1a9130cd;hb=abf665fc6ca2974e13acede83e0a77967fdccf9a;hpb=1caa23ff879cec7f8f36b32a987f0610291ef177;ds=sidebyside diff --git a/dh.c b/dh.c index 2383192..c37b538 100644 --- a/dh.c +++ b/dh.c @@ -125,6 +125,10 @@ static list_t *dh_apply(closure_t *self, struct cloc loc, dict_t *context, st->ops.len=sz; + st->ops.ceil_len=(mpz_sizeinbase(&st->p,2)+7)/8; + /* According to the docs, mpz_sizeinbase(,256) is allowed to return + * an answer which is 1 too large. But mpz_sizeinbase(,2) isn't. */ + return new_closure(&st->cl); }