https://bugs.openldap.org/show_bug.cgi?id=10083

          Issue ID: 10083
           Summary: lload: Receiving a NoD while connection is closing
                    already corrupts c_state
           Product: OpenLDAP
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: needs_review
          Severity: normal
          Priority: ---
         Component: lloadd
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

If the backend closes a connection with a NoD, two things happen: we won't be
able to write to the socket and we receive the NoD message.

lloadd might encounter those in either order, but handle_unsolicited() doesn't
expect to be the second one to come in and happily overrides c_state, even if
c_unlink() has been called by the write side already. upstream_destroy()
eventually discovers the inconsistent state (LLOAD_C_CLOSING vs. LLOAD_C_DYING)
and assert()s.

A fix to handle_unsolicited() is coming.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to