diff options
| -rw-r--r-- | sys/src/cmd/ndb/dnstcp.c | 6 | ||||
| -rw-r--r-- | sys/src/cmd/ndb/dnudpserver.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/src/cmd/ndb/dnstcp.c b/sys/src/cmd/ndb/dnstcp.c index 72c188df9..3a9ee2955 100644 --- a/sys/src/cmd/ndb/dnstcp.c +++ b/sys/src/cmd/ndb/dnstcp.c @@ -122,6 +122,12 @@ main(int argc, char *argv[]) reqmsg.flags & Omask, caller); break; } + + if(reqmsg.qd == nil){ + dnslog("server: no question RR from %s", caller); + break; + } + if(debug) dnslog("[%d] %d: serve (%s) %d %s %s", getpid(), req.id, caller, diff --git a/sys/src/cmd/ndb/dnudpserver.c b/sys/src/cmd/ndb/dnudpserver.c index bcd03e96f..08bb10aea 100644 --- a/sys/src/cmd/ndb/dnudpserver.c +++ b/sys/src/cmd/ndb/dnudpserver.c @@ -215,6 +215,11 @@ restart: goto freereq; } + if(reqmsg.qd == nil){ + dnslog("server: no question RR from %I", buf); + goto freereq; + } + if(debug || (trace && subsume(trace, reqmsg.qd->owner->name))) dnslog("%d: serve (%I/%d) %d %s %s", req.id, buf, uh->rport[0]<<8 | uh->rport[1], |
