fixed a fd leak when trying to regain contact to a domain controller
authorAndrew Tridgell <tridge@samba.org>
Wed, 6 Aug 2008 04:02:45 +0000 (14:02 +1000)
committerMichael Adam <obnox@samba.org>
Wed, 6 Aug 2008 08:50:16 +0000 (10:50 +0200)
in winbind

When a w2k3 DC is rebooted the 139/445 ports come up before the
udp/389 cldap port. During this brief period, winbind manages to
connect to 139/445 but not to udp 389. It then enters a tight loop
where it leaks one fd each time. In a couple of seconds it runs out of
file descriptors, and leaves winbind crippled after the DC does
finally come up
(This used to be commit 57187cafbcc053e75bb54750494df9feabe3a738)

source3/winbindd/winbindd_cm.c

index b3f89506914bfabc3eef8262fe0ac6bfb2b731ff..47df4e405893c14ddeec501fb2b5c0c29fe99e9e 100644 (file)
@@ -1320,6 +1320,7 @@ static bool find_new_dc(TALLOC_CTX *mem_ctx,
        TALLOC_FREE(addrs);
        num_addrs = 0;
 
+       close(*fd);
        *fd = -1;
 
        goto again;