diff options
Diffstat (limited to 'Net/FTP/dataconn.pm')
-rw-r--r-- | Net/FTP/dataconn.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Net/FTP/dataconn.pm b/Net/FTP/dataconn.pm index bc6ba7f..c2954f8 100644 --- a/Net/FTP/dataconn.pm +++ b/Net/FTP/dataconn.pm @@ -52,7 +52,8 @@ sub _close { $data->SUPER::close(); delete ${*$ftp}{'net_ftp_dataconn'} - if exists ${*$ftp}{'net_ftp_dataconn'} + if defined $ftp + && exists ${*$ftp}{'net_ftp_dataconn'} && $data == ${*$ftp}{'net_ftp_dataconn'}; } @@ -69,6 +70,8 @@ sub close { $data->_close; + return unless defined $ftp; + $ftp->response() == CMD_OK && $ftp->message =~ /unique file name:\s*(\S*)\s*\)/ && (${*$ftp}{'net_ftp_unique'} = $1); |