about summary refs log tree commit
path: root/Net/FTP/dataconn.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Net/FTP/dataconn.pm')
-rw-r--r--Net/FTP/dataconn.pm5
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);