From 4b4686c911f1917b70cf2d0d37f75a04296181ce Mon Sep 17 00:00:00 2001 From: Alex Rousskov Date: Thu, 22 Sep 2011 09:23:11 -0600 Subject: [PATCH] Bug 3351: FTP timeout causing "store_status == STORE_PENDING" assertion If the entry was aborted while we were timing out, do not attempt to write the timeout error message to it. TODO: Other FTP code should call abortOnBadEntry() instead of testing for ENTRY_ABORTED and calling abortTransaction(). --- src/ftp.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ftp.cc b/src/ftp.cc index 17eac333c2..e474b0fbbf 100644 --- a/src/ftp.cc +++ b/src/ftp.cc @@ -669,6 +669,9 @@ FtpStateData::ftpTimeout(const CommTimeoutCbParams &io) { debugs(9, 4, HERE << io.conn << ": '" << entry->url() << "'" ); + if (abortOnBadEntry("entry went bad while waiting for a timeout")) + return; + if (SENT_PASV == state && io.conn->fd == data.conn->fd) { /* stupid ftp.netscape.com */ flags.pasv_supported = false; -- 2.47.3