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]