X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/593f7bd3b9a9c80fdde181d79ba87d57cae1f1ed..6a024d24d97cb5d42c0091571735475b849f59f4:/progs/cc-kem.c diff --git a/progs/cc-kem.c b/progs/cc-kem.c index cf53eaf1..1e99e05d 100644 --- a/progs/cc-kem.c +++ b/progs/cc-kem.c @@ -860,16 +860,6 @@ k_found:; halg, t.buf); } - dstr_reset(&d); - if ((q = key_getattr(0, k, "kdf")) == 0) { - dstr_putf(&d, "%s-mgf", kk->hc->name); - q = d.buf; - } - if ((kk->cxc = gcipher_byname(q)) == 0) { - die(EXIT_FAILURE, "encryption scheme (KDF) `%s' not found in key `%s'", - q, t.buf); - } - if (!balg) bt = bulktab; else { @@ -887,6 +877,16 @@ k_found:; *bc = bo->init(k, balg, kk->hc->name); (*bc)->ops = bo; + dstr_reset(&d); + if ((q = key_getattr(0, k, "kdf")) == 0) { + dstr_putf(&d, "%s-mgf", kk->hc->name); + q = d.buf; + } + if ((kk->cxc = gcipher_byname(q)) == 0) { + die(EXIT_FAILURE, "encryption scheme (KDF) `%s' not found in key `%s'", + q, t.buf); + } + /* --- Tidy up --- */ dstr_destroy(&d);