2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

Fix RT #2309 differently, allowing rather than rejecting empty

also-notify clauses
This commit is contained in:
Andreas Gustafsson
2002-01-23 02:03:05 +00:00
parent de619d1e81
commit b6e20238b6
2 changed files with 16 additions and 23 deletions

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.c,v 1.360 2002/01/22 22:05:53 bwelling Exp $ */
/* $Id: zone.c,v 1.361 2002/01/23 02:03:04 gson Exp $ */
#include <config.h>
@@ -1792,8 +1792,7 @@ dns_zone_setalsonotify(dns_zone_t *zone, isc_sockaddr_t *notify,
isc_sockaddr_t *new;
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE((notify == NULL && count == 0) ||
(notify != NULL && count != 0));
REQUIRE(count == 0 || notify != NULL);
LOCK_ZONE(zone);
if (zone->notify != NULL) {
@@ -1802,19 +1801,16 @@ dns_zone_setalsonotify(dns_zone_t *zone, isc_sockaddr_t *notify,
zone->notify = NULL;
zone->notifycnt = 0;
}
if (notify == NULL)
goto unlock;
new = isc_mem_get(zone->mctx, count * sizeof(*new));
if (new == NULL) {
UNLOCK_ZONE(zone);
return (ISC_R_NOMEMORY);
}
memcpy(new, notify, count * sizeof(*new));
zone->notify = new;
zone->notifycnt = count;
unlock:
if (count != 0) {
new = isc_mem_get(zone->mctx, count * sizeof *new);
if (new == NULL) {
UNLOCK_ZONE(zone);
return (ISC_R_NOMEMORY);
}
memcpy(new, notify, count * sizeof *new);
zone->notify = new;
zone->notifycnt = count;
}
UNLOCK_ZONE(zone);
return (ISC_R_SUCCESS);
}