You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/04/18 21:16:40 UTC

svn commit: r935391 - /james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java

Author: norman
Date: Sun Apr 18 19:16:39 2010
New Revision: 935391

URL: http://svn.apache.org/viewvc?rev=935391&view=rev
Log:
Fix possible IndexOutOfBound Exception (IMAP-109)

Modified:
    james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java

Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java?rev=935391&r1=935390&r2=935391&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java Sun Apr 18 19:16:39 2010
@@ -22,11 +22,11 @@ package org.apache.james.imap.store;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Random;
+import java.util.WeakHashMap;
 
 import org.apache.commons.logging.Log;
 import org.apache.james.imap.api.AbstractLogEnabled;
@@ -72,7 +72,7 @@ public abstract class StoreMailboxManage
 
     
     public StoreMailboxManager(final Authenticator authenticator, final Subscriber subscriber, final char delimiter) {
-        mailboxes = new HashMap<String, StoreMailbox<Id>>();
+        mailboxes = new WeakHashMap<String, StoreMailbox<Id>>();
         this.authenticator = authenticator;
         this.subscriber = subscriber;
         this.delimiter = delimiter;
@@ -409,7 +409,7 @@ public abstract class StoreMailboxManage
      * @see org.apache.james.imap.mailbox.MailboxManager#resolve(java.lang.String, java.lang.String)
      */
     public String resolve(final String userName, String mailboxPath) {
-        if (mailboxPath.charAt(0) != delimiter) {
+        if (mailboxPath.length() > 0 && mailboxPath.charAt(0) != delimiter) {
             mailboxPath = delimiter + mailboxPath;
         }
         final String result = USER_NAMESPACE_PREFIX + delimiter + userName



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org