diff --git a/lib/dns/openssldh_link.c b/lib/dns/openssldh_link.c index ba39d1e969..d41fee38b2 100644 --- a/lib/dns/openssldh_link.c +++ b/lib/dns/openssldh_link.c @@ -210,11 +210,12 @@ openssldh_generate(dst_key_t *key, int generator, void (*callback)(int)) { if (dh == NULL) return (dst__openssl_toresult(ISC_R_NOMEMORY)); cb = BN_GENCB_new(); +#if OPENSSL_VERSION_NUMBER >= 0x10100000L if (cb == NULL) { DH_free(dh); return (dst__openssl_toresult(ISC_R_NOMEMORY)); } - +#endif if (callback == NULL) { BN_GENCB_set_old(cb, NULL, NULL); } else { diff --git a/lib/dns/openssldsa_link.c b/lib/dns/openssldsa_link.c index dce7cd3441..510e78e5ae 100644 --- a/lib/dns/openssldsa_link.c +++ b/lib/dns/openssldsa_link.c @@ -377,12 +377,12 @@ openssldsa_generate(dst_key_t *key, int unused, void (*callback)(int)) { if (dsa == NULL) return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); cb = BN_GENCB_new(); +#if OPENSSL_VERSION_NUMBER >= 0x10100000L if (cb == NULL) { DSA_free(dsa); return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); } - - +#endif if (callback == NULL) { BN_GENCB_set_old(cb, NULL, NULL); } else {