This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-net.git


The following commit(s) were added to refs/heads/master by this push:
     new 3c01bfa  [NET-663] Retrieve socket host before closing if remote 
verification fails
     new d28e5f0  Merge pull request #50 from 
mshenfield/NET-663-FTP-NullPointerException
3c01bfa is described below

commit 3c01bfaa968514749d54218f910563ac19d970cf
Author: Max Shenfield <mshenfi...@google.com>
AuthorDate: Sun Dec 23 03:46:22 2018 +0000

    [NET-663] Retrieve socket host before closing if remote verification fails
    
    This retrieves the socket host before closing the socket
    when remote verification fails. In NET-663, socket.getInetAddress()
    returned a null after the socket was closed, causing a
    NullPointerException instead of the more helpful error message intended.
---
 src/main/java/org/apache/commons/net/ftp/FTPClient.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/commons/net/ftp/FTPClient.java 
b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
index 9b9c260..7a6944f 100644
--- a/src/main/java/org/apache/commons/net/ftp/FTPClient.java
+++ b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
@@ -937,10 +937,13 @@ implements Configurable
 
         if (__remoteVerificationEnabled && !verifyRemote(socket))
         {
+            // Grab the host before we close the socket to avoid NET-663
+            InetAddress socketHost = socket.getInetAddress();
+
             socket.close();
 
             throw new IOException(
-                    "Host attempting data connection " + 
socket.getInetAddress().getHostAddress() +
+                    "Host attempting data connection " + 
socketHost.getHostAddress() +
                     " is not same as server " + 
getRemoteAddress().getHostAddress());
         }
 

Reply via email to