diff options
Diffstat (limited to 'lib/dns/byaddr.c')
| -rw-r--r-- | lib/dns/byaddr.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/lib/dns/byaddr.c b/lib/dns/byaddr.c index 6a3a6036180a7..eb05f9f80f379 100644 --- a/lib/dns/byaddr.c +++ b/lib/dns/byaddr.c @@ -1,5 +1,5 @@  /* - * Copyright (C) 2004, 2005, 2007, 2009  Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2009, 2013  Internet Systems Consortium, Inc. ("ISC")   * Copyright (C) 2000-2003  Internet Software Consortium.   *   * Permission to use, copy, modify, and/or distribute this software for any @@ -224,7 +224,8 @@ dns_byaddr_create(isc_mem_t *mctx, isc_netaddr_t *address, dns_view_t *view,  	byaddr = isc_mem_get(mctx, sizeof(*byaddr));  	if (byaddr == NULL)  		return (ISC_R_NOMEMORY); -	byaddr->mctx = mctx; +	byaddr->mctx = NULL; +	isc_mem_attach(mctx, &byaddr->mctx);  	byaddr->options = options;  	byaddr->event = isc_mem_get(mctx, sizeof(*byaddr->event)); @@ -277,7 +278,7 @@ dns_byaddr_create(isc_mem_t *mctx, isc_netaddr_t *address, dns_view_t *view,  	isc_task_detach(&byaddr->task);   cleanup_byaddr: -	isc_mem_put(mctx, byaddr, sizeof(*byaddr)); +	isc_mem_putanddetach(&mctx, byaddr, sizeof(*byaddr));  	return (result);  } @@ -310,7 +311,7 @@ dns_byaddr_destroy(dns_byaddr_t **byaddrp) {  	DESTROYLOCK(&byaddr->lock);  	byaddr->magic = 0; -	isc_mem_put(byaddr->mctx, byaddr, sizeof(*byaddr)); +	isc_mem_putanddetach(&byaddr->mctx, byaddr, sizeof(*byaddr));  	*byaddrp = NULL;  } | 
