summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-12-04 08:10:49 +0000
committerAndrew Tridgell <tridge@samba.org>1997-12-04 08:10:49 +0000
commit8bac91a6e7a3601b093cb64e9cb3bcc1663fb4d4 (patch)
tree26bfdadd9186a4d760cfeabda2eba418c3128e2b
parentd9bb3a4eba9c630370fea0fa297b176fd2afb532 (diff)
downloadsamba-8bac91a6e7a3601b093cb64e9cb3bcc1663fb4d4.tar.gz
samba-8bac91a6e7a3601b093cb64e9cb3bcc1663fb4d4.tar.xz
samba-8bac91a6e7a3601b093cb64e9cb3bcc1663fb4d4.zip
allow for zero size reads in asyncdns. These can happen after a signal
-rw-r--r--source/nmbd/asyncdns.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/nmbd/asyncdns.c b/source/nmbd/asyncdns.c
index c87e0907543..f15880080f5 100644
--- a/source/nmbd/asyncdns.c
+++ b/source/nmbd/asyncdns.c
@@ -162,13 +162,16 @@ void run_dns_queue(void)
{
struct query_record r;
struct packet_struct *p, *p2;
+ int size;
if (fd_in == -1)
return;
- if (read_data(fd_in, (char *)&r, sizeof(r)) != sizeof(r)) {
- DEBUG(0,("Incomplete DNS answer from child!\n"));
- fd_in = -1;
+ if ((size=read_data(fd_in, (char *)&r, sizeof(r))) != sizeof(r)) {
+ if (size) {
+ DEBUG(0,("Incomplete DNS answer from child!\n"));
+ fd_in = -1;
+ }
return;
}