diff --git a/src/forward.c b/src/forward.c index 8207a7e..28b6ffd 100644 --- a/src/forward.c +++ b/src/forward.c @@ -354,8 +354,6 @@ static void forward_query(int udpfd, union mysockaddr *udpaddr, flags = 0; } - master = daemon->serverarray[first]; - /* don't forward A or AAAA queries for simple names, except the empty name */ if (!flags && option_bool(OPT_NODOTS_LOCAL) && @@ -367,7 +365,9 @@ static void forward_query(int udpfd, union mysockaddr *udpaddr, /* Configured answer. */ if (flags || ede == EDE_NOT_READY) goto reply; - + + master = daemon->serverarray[first]; + if (!(forward = get_new_frec(now, master, 0))) goto reply; /* table full - flags == 0, return REFUSED */