Back-port of Volkers fix.
authorJeremy Allison <jra@samba.org>
Fri, 25 Jul 2008 18:46:34 +0000 (11:46 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 25 Jul 2008 18:46:34 +0000 (11:46 -0700)
commitc93d42969451949566327e7fdbf29bfcee2c8319
tree657702337fce515f24be62ad5de19390c15bb17e
parent312e2df86d9ad9d9766569e57680ee149cd985df
Back-port of Volkers fix.

    Fix a race condition in winbind leading to a crash

    When SIGCHLD handling is delayed for some reason, sending a request to a child
    can fail early because the child has died already. In this case
    async_main_request_sent() directly called the continuation function without
    properly removing the malfunctioning child process and the requests in the
    queue. The next request would then crash in the DLIST_ADD_END() in
    async_request() because the request pending for the child had been
    talloc_free()'ed and yet still was referenced in the list.

    This one is *old*...

    Volker

Jeremy.
source/nsswitch/winbindd_dual.c