From 3cbc87c31f76262980d54ddbcdda7875be37b684 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 15 Mar 2005 00:32:42 +0000 Subject: [PATCH] 1825. [bug] Missing unlock on out of memory error from in rbtdb.c:subtractrdataset(). [RT #13519] --- CHANGES | 3 +++ lib/dns/rbtdb.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 720ef4eaa2..17f266f88b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +1825. [bug] Missing unlock on out of memory error from in + rbtdb.c:subtractrdataset(). [RT #13519] + 1824. [bug] Memory leak on dns_zone_setdbtype() failure. [RT #13510] diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 30959ddaa5..4f334d7f7e 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rbtdb.c,v 1.201 2004/12/21 10:45:17 jinmei Exp $ */ +/* $Id: rbtdb.c,v 1.202 2005/03/15 00:32:42 marka Exp $ */ /* * Principal Author: Bob Halley @@ -4435,6 +4435,7 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, changed = add_changed(rbtdb, rbtversion, rbtnode); if (changed == NULL) { free_rdataset(rbtdb->common.mctx, newheader); + UNLOCK(&rbtdb->node_locks[rbtnode->locknum].lock); return (ISC_R_NOMEMORY); }