diff options
Diffstat (limited to 'contrib/bind/bin/named-xfer/named-xfer.c')
-rw-r--r-- | contrib/bind/bin/named-xfer/named-xfer.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/bind/bin/named-xfer/named-xfer.c b/contrib/bind/bin/named-xfer/named-xfer.c index dd70d7b..79b79ca 100644 --- a/contrib/bind/bin/named-xfer/named-xfer.c +++ b/contrib/bind/bin/named-xfer/named-xfer.c @@ -131,7 +131,7 @@ char copyright[] = #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)named-xfer.c 4.18 (Berkeley) 3/7/91"; -static const char rcsid[] = "$Id: named-xfer.c,v 8.93 2000/04/20 07:33:47 vixie Exp $"; +static const char rcsid[] = "$Id: named-xfer.c,v 8.94 2000/07/11 05:38:27 vixie Exp $"; #endif /* not lint */ #include "port_before.h" @@ -1216,6 +1216,7 @@ getzone(struct zoneinfo *zp, u_int32_t serial_no, int port) { * the response. */ loop_cnt = 0; + bp = NULL; do { u_char *cp4; u_short type, class, dlen; @@ -1227,6 +1228,9 @@ getzone(struct zoneinfo *zp, u_int32_t serial_no, int port) { } tmp += n; + if (loop_cnt == 0) + bp = tmp; + /* Are type, class, and ttl OK? */ cp4 = tmp; /* Leave tmp pointing to type field */ if (eom - cp4 < 3 * INT16SZ + INT32SZ) { @@ -1247,7 +1251,6 @@ getzone(struct zoneinfo *zp, u_int32_t serial_no, int port) { break; } if ((methode == ISIXFR) && (loop_cnt == 0)) { - bp = tmp; soa_cnt++; badsoa_msg = soa_zinfo(&zp_finish, tmp, eom); if (badsoa_msg) |