mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
pull up windows acl leak fix from 9.5.0-P2-W1
This commit is contained in:
2
CHANGES
2
CHANGES
@@ -1,3 +1,5 @@
|
||||
2435. [bug] Fixed an ACL memory leak affecting win32.
|
||||
|
||||
2434. [placeholder]
|
||||
|
||||
2433. [tuning] Set initial timeout to 800ms.
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: acl.c,v 1.45 2008/04/29 01:01:42 each Exp $ */
|
||||
/* $Id: acl.c,v 1.46 2008/09/10 21:52:49 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -234,8 +234,10 @@ dns_acl_match(const isc_netaddr_t *reqaddr,
|
||||
dns_aclelement_t *e = &acl->elements[i];
|
||||
|
||||
/* Already found a better match? */
|
||||
if (match_num != -1 && match_num < e->node_num)
|
||||
if (match_num != -1 && match_num < e->node_num) {
|
||||
isc_refcount_destroy(&pfx.refcount);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
if (dns_aclelement_match(reqaddr, reqsigner,
|
||||
e, env, matchelt)) {
|
||||
@@ -245,10 +247,12 @@ dns_acl_match(const isc_netaddr_t *reqaddr,
|
||||
else
|
||||
*match = e->node_num;
|
||||
}
|
||||
isc_refcount_destroy(&pfx.refcount);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
isc_refcount_destroy(&pfx.refcount);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: iptable.c,v 1.10 2008/08/27 04:44:18 marka Exp $ */
|
||||
/* $Id: iptable.c,v 1.11 2008/09/10 21:52:49 each Exp $ */
|
||||
|
||||
#include <isc/mem.h>
|
||||
#include <isc/radix.h>
|
||||
@@ -75,8 +75,10 @@ dns_iptable_addprefix(dns_iptable_t *tab, isc_netaddr_t *addr,
|
||||
|
||||
result = isc_radix_insert(tab->radix, &node, NULL, &pfx);
|
||||
|
||||
if (result != ISC_R_SUCCESS)
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_refcount_destroy(&pfx.refcount);
|
||||
return(result);
|
||||
}
|
||||
|
||||
/* If the node already contains data, don't overwrite it */
|
||||
if (node->data[ISC_IS6(family)] == NULL) {
|
||||
@@ -86,6 +88,7 @@ dns_iptable_addprefix(dns_iptable_t *tab, isc_netaddr_t *addr,
|
||||
node->data[ISC_IS6(family)] = &dns_iptable_neg;
|
||||
}
|
||||
|
||||
isc_refcount_destroy(&pfx.refcount);
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user