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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to