Commit 60172a04 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

SFTP: gracefully handle shutdown early

When using the multi interface and a handle using SFTP was removed very
early on, we would get a segfault due to the code assumed data was there
that hadn't yet been setup.

Bug: http://curl.haxx.se/mail/lib-2011-03/0066.html
Reported by: Saqib Ali
parent c042340b
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -2047,8 +2047,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
        }
        sshc->sftp_handle = NULL;
      }
      if(sftp_scp) {
        Curl_safefree(sftp_scp->path);
        sftp_scp->path = NULL;
      }

      DEBUGF(infof(data, "SFTP DONE done\n"));
#if 0 /* PREV */
@@ -2752,8 +2754,10 @@ static CURLcode ssh_done(struct connectdata *conn, CURLcode status)
  else
    result = status;

  if(sftp_scp) {
    Curl_safefree(sftp_scp->path);
    sftp_scp->path = NULL;
  }
  Curl_pgrsDone(conn);

  conn->data->req.keepon = 0; /* clear all bits */