Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56452

Self anchor in PooledLDAPConnection::setup's callback

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.2.15, 4.4.7, 5.0.0-rc1, 4.0.26, 5.1.0-rc0
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v5.0, v4.4, v4.2, v4.0
    • Sprint:
      Security 2021-05-17, Security 2021-05-31
    • Case:

      Description

      PooledLDAPConnection::setup spawns an asynchronous task which is responsible for establishing a connection to a remote LDAP server, and waiting for it to successfully respond to a command. This task does not anchor the PooledLDAPConnection, which is held by its per-host connection pool. If the owning connection pool times out and is reaped, the PooledLDAPConnection may be desconstructed while being used by the callback.

       

      The callback spawned by PooledLDAPConnection::setup should retain a std::shared_ptr to the PooledLDAPConnection which dispatched it.

        Attachments

          Activity

            People

            Assignee:
            varun.ravichandran Varun Ravichandran
            Reporter:
            spencer.jackson Spencer Jackson
            Participants:
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: