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