Print

Print


  Branch: refs/heads/master
  Home:   https://github.com/xrootd/xrootd
  Commit: 249d420216294bccd924bb74ef7f9cd208f45ead
      https://github.com/xrootd/xrootd/commit/249d420216294bccd924bb74ef7f9cd208f45ead
  Author: John Thiltges <[log in to unmask]>
  Date:   2021-05-04 (Tue, 04 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcTPC.cc

  Log Message:
  -----------
  [XrdTpc] Do not modify curl handle after curl_easy_cleanup()

When `ProcessPushReq()` and `ProcessPullReq()` return,
`TPC::State::~State()` is called. The destructor modifies the curl handle,
but the handle may already have been through `curl_easy_cleanup()`, and any
further use may cause memory corruption.

Put the curl handle into a unique_ptr for cleanup at function exit.


  Commit: 5b37f290118b0c11b7d2736890425b7fce49d4c2
      https://github.com/xrootd/xrootd/commit/5b37f290118b0c11b7d2736890425b7fce49d4c2
  Author: John Thiltges <[log in to unmask]>
  Date:   2021-05-04 (Tue, 04 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcMultistream.cc
    M src/XrdTpc/XrdTpcTPC.cc

  Log Message:
  -----------
  [XrdTpc] Don't call curl_easy_cleanup() on curl handle in DetermineXferSize() or ~MultiCurlHandler()

The curl handle comes from a State object, which is only "borrowing" a reference.


  Commit: c952b82ee460c8cd14cad64bedbcd69efd297683
      https://github.com/xrootd/xrootd/commit/c952b82ee460c8cd14cad64bedbcd69efd297683
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-05-06 (Thu, 06 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcMultistream.cc
    M src/XrdTpc/XrdTpcTPC.cc

  Log Message:
  -----------
  [XrdTpc] Curl handle patch cleanup


  Commit: 8d1728fa1a351a3227150531d708b3c6f2933741
      https://github.com/xrootd/xrootd/commit/8d1728fa1a351a3227150531d708b3c6f2933741
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-05-06 (Thu, 06 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcMultistream.cc
    M src/XrdTpc/XrdTpcTPC.cc
    M src/XrdTpc/XrdTpcTPC.hh

  Log Message:
  -----------
  Ensure that we manage the curl handles we duplicated for the state.


  Commit: 5465032d50afc42208c17150b6c93e1f907bc9c3
      https://github.com/xrootd/xrootd/commit/5465032d50afc42208c17150b6c93e1f907bc9c3
  Author: Brian Bockelman <[log in to unmask]>
  Date:   2021-05-06 (Thu, 06 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcState.hh

  Log Message:
  -----------
  Add include guard for State header.


  Commit: 2e3166ae3655ba8de2b1ff42d13f09f0fafd54d9
      https://github.com/xrootd/xrootd/commit/2e3166ae3655ba8de2b1ff42d13f09f0fafd54d9
  Author: John Thiltges <[log in to unmask]>
  Date:   2021-05-06 (Thu, 06 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcMultistream.cc
    M src/XrdTpc/XrdTpcTPC.hh

  Log Message:
  -----------
  Move curl_handles vector to parent function

Free the state objects (calling the ~State() destructor, which modifies the curl handles) before the curl handles are free'd


  Commit: 70066fe7edaa68ea271ffdf9d54c9d26294eeafd
      https://github.com/xrootd/xrootd/commit/70066fe7edaa68ea271ffdf9d54c9d26294eeafd
  Author: Andrew Hanushevsky <[log in to unmask]>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M src/XrdTpc/XrdTpcMultistream.cc
    M src/XrdTpc/XrdTpcState.hh
    M src/XrdTpc/XrdTpcTPC.cc
    M src/XrdTpc/XrdTpcTPC.hh

  Log Message:
  -----------
  Merge pull request #1449 from jthiltges/curlstate

[XrdTpc] Do not modify curl handle after curl_easy_cleanup()


Compare: https://github.com/xrootd/xrootd/compare/8f8429339adc...70066fe7edaa

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1