You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2008/08/15 16:07:22 UTC

svn commit: r686218 - /geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java

Author: rickmcguire
Date: Fri Aug 15 07:07:22 2008
New Revision: 686218

URL: http://svn.apache.org/viewvc?rev=686218&view=rev
Log:
GERONIMO-4241 NPE when calling folder.getDeletedMessageCount() for POP3 store


Modified:
    geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java

Modified: geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java
URL: http://svn.apache.org/viewvc/geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java?rev=686218&r1=686217&r2=686218&view=diff
==============================================================================
--- geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java (original)
+++ geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/store/pop3/POP3Store.java Fri Aug 15 07:07:22 2008
@@ -234,12 +234,21 @@
     public boolean isConnected() {
         try {
             POP3Connection connection = getConnection(); 
+            // a null connection likely means we had a failure establishing a 
+            // new connection to the POP3 server.  
+            if (connection == null) {
+                return false; 
+            }
             try {
+                // make sure the server is really there 
                 connection.pingServer(); 
                 return true; 
             }
             finally {
-                releaseConnection(connection); 
+                // return the connection to the pool when finished 
+                if (connection != null) {
+                    releaseConnection(connection); 
+                }
             }
         } catch (MessagingException e) {
         }