Commit c001ed53 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Armel Asselin - When the easy handle is removed from the multi while libcurl

is still trying to resolve the host name, it seems that the ftp struct is not
yet initialized, but the removal action calls Curl_done() which calls
Curl_ftp_done. So we simply return success from there if no ftp pointer is
set.
parent 39e01e93
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -2954,6 +2954,15 @@ CURLcode Curl_ftp_done(struct connectdata *conn, CURLcode status)
  char *path_to_use = data->reqdata.path;
  struct Curl_transfer_keeper *k = &data->reqdata.keep;

  if(!ftp)
    /* When the easy handle is removed from the multi while libcurl is still
     * trying to resolve the host name, it seems that the ftp struct is not
     * yet initialized, but the removal action calls Curl_done() which calls
     * this function. So we simply return success if no ftp pointer is set.
     */
    return CURLE_OK;


  if (conn->sec_path)
    path_to_use = conn->sec_path;