diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2014-07-30 23:18:47 +0200 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2014-07-30 23:37:24 +0200 |
commit | 2c1db913f73ff29291969ca7bf6f3bf8e1f34069 (patch) | |
tree | 8c4aaa38a0ac8d31666c10ec9df0915c73e50e10 | |
parent | 01a016880620cf2a3ad5135327a27124d8c168c2 (diff) |
smtp: fixed a segfault during test 1320 torture test
Under these circumstances, the connection hasn't been fully established
and smtp_connect hasn't been called, yet smtp_done still calls the state
machine which dereferences the NULL conn pointer in struct pingpong.
-rw-r--r-- | lib/smtp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/smtp.c b/lib/smtp.c index 5938c3ff4..da7601724 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -1642,7 +1642,7 @@ static CURLcode smtp_done(struct connectdata *conn, CURLcode status, (void)premature; - if(!smtp) + if(!smtp || !pp->conn) /* When the easy handle is removed from the multi interface while libcurl is still trying to resolve the host name, the SMTP struct is not yet initialized. However, the removal action calls Curl_done() which in |