mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-05 00:55:24 +00:00
Remove internal dst memory context that was used just for OpenSSL and was passthrough for malloc and free
This commit is contained in:
@@ -72,8 +72,6 @@ static bool dst_initialized = false;
|
||||
|
||||
void gss_log(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
|
||||
|
||||
LIBDNS_EXTERNAL_DATA isc_mem_t *dst__memory_pool = NULL;
|
||||
|
||||
/*
|
||||
* Static functions.
|
||||
*/
|
||||
@@ -124,20 +122,6 @@ static isc_result_t addsuffix(char *filename, int len,
|
||||
return (_r); \
|
||||
} while (0); \
|
||||
|
||||
static void *
|
||||
default_memalloc(void *arg, size_t size) {
|
||||
UNUSED(arg);
|
||||
if (size == 0U)
|
||||
size = 1;
|
||||
return (malloc(size));
|
||||
}
|
||||
|
||||
static void
|
||||
default_memfree(void *arg, void *ptr) {
|
||||
UNUSED(arg);
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
dst_lib_init(isc_mem_t *mctx, const char *engine) {
|
||||
isc_result_t result;
|
||||
@@ -147,26 +131,6 @@ dst_lib_init(isc_mem_t *mctx, const char *engine) {
|
||||
|
||||
UNUSED(engine);
|
||||
|
||||
dst__memory_pool = NULL;
|
||||
|
||||
UNUSED(mctx);
|
||||
/*
|
||||
* When using --with-openssl, there seems to be no good way of not
|
||||
* leaking memory due to the openssl error handling mechanism.
|
||||
* Avoid assertions by using a local memory context and not checking
|
||||
* for leaks on exit. Note: as there are leaks we cannot use
|
||||
* ISC_MEMFLAG_INTERNAL as it will free up memory still being used
|
||||
* by libcrypto.
|
||||
*/
|
||||
result = isc_mem_createx(0, 0, default_memalloc, default_memfree,
|
||||
NULL, &dst__memory_pool, 0);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
isc_mem_setname(dst__memory_pool, "dst", NULL);
|
||||
#ifndef OPENSSL_LEAKS
|
||||
isc_mem_setdestroycheck(dst__memory_pool, false);
|
||||
#endif
|
||||
|
||||
dst_result_register();
|
||||
|
||||
memset(dst_t_func, 0, sizeof(dst_t_func));
|
||||
@@ -176,7 +140,7 @@ dst_lib_init(isc_mem_t *mctx, const char *engine) {
|
||||
RETERR(dst__hmacsha256_init(&dst_t_func[DST_ALG_HMACSHA256]));
|
||||
RETERR(dst__hmacsha384_init(&dst_t_func[DST_ALG_HMACSHA384]));
|
||||
RETERR(dst__hmacsha512_init(&dst_t_func[DST_ALG_HMACSHA512]));
|
||||
RETERR(dst__openssl_init(engine));
|
||||
RETERR(dst__openssl_init(mctx, engine));
|
||||
RETERR(dst__openssldh_init(&dst_t_func[DST_ALG_DH]));
|
||||
#if USE_OPENSSL
|
||||
RETERR(dst__opensslrsa_init(&dst_t_func[DST_ALG_RSAMD5],
|
||||
@@ -242,8 +206,6 @@ dst_lib_destroy(void) {
|
||||
#if USE_PKCS11
|
||||
(void) dst__pkcs11_destroy();
|
||||
#endif /* USE_PKCS11 */
|
||||
if (dst__memory_pool != NULL)
|
||||
isc_mem_detach(&dst__memory_pool);
|
||||
}
|
||||
|
||||
bool
|
||||
|
Reference in New Issue
Block a user