javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/SecurityExtensionsReader.java
--- a/javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/SecurityExtensionsReader.java Mon Jun 21 15:32:50 2010 +0300
+++ b/javacommons/security/javasrc/com/nokia/mj/impl/security/midp/common/SecurityExtensionsReader.java Thu Jul 15 18:31:06 2010 +0300
@@ -327,6 +327,7 @@
String mappingsSystemProperty)
{
String[] mappings = Tokenizer.split(mappingsSystemProperty, ";");
+ Vector validatedPermNames = new Vector();
if (mappings != null)
{
for (int i=0; i<mappings.length; i++)
@@ -358,11 +359,13 @@
// one more check against the existing extensions
// permission mappings
found = find(namedPermName,
- classBasedPermName,
+ (validatedPermNames.contains(classBasedPermName)
+ ? null: classBasedPermName),
extPermissionMappings);
}
if (!found)
{
+ validatedPermNames.addElement(classBasedPermName);
extPermissionMappings.put(
namedPermName,
new MIDPPermission(
@@ -387,8 +390,9 @@
Object key = e.nextElement();
Object value = permMapping.get(key);
if (((String)key).equalsIgnoreCase(namedPermName)
- || (((MIDPPermission)value)).getName()
- .equalsIgnoreCase(classBasedPermName))
+ || ( classBasedPermName != null
+ && (((MIDPPermission)value)).getName()
+ .equalsIgnoreCase(classBasedPermName)))
{
return true;
}