]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Optimize resolveClass a bit.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 24 Jun 2017 13:17:05 +0000 (15:17 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 24 Jun 2017 13:18:05 +0000 (15:18 +0200)
Short evaluation is possible a bit more often.

src/com/hughes/android/util/PersistentObjectCache.java

index c95f5037b232022e7ea7e0ea0ef49d8a6a91edbe..c27341171f4f6f09d166052719b8bf7bcfaa8061 100644 (file)
@@ -52,16 +52,16 @@ public class PersistentObjectCache {
             String name = desc.getName();
             // Note: try to avoid adding more classes.
             // LinkedHashMap is already more than enough for a DoS
-            if (!name.equals(ArrayList.class.getName()) &&
-                    !name.equals(HashMap.class.getName()) &&
-                    !name.equals(LinkedHashMap.class.getName()) &&
-                    !name.equals(String.class.getName()) &&
-                    !name.equals(DictionaryApplication.DictionaryConfig.class.getName()) &&
-                    !name.equals(DictionaryInfo.class.getName()) &&
-                    !name.equals(DictionaryInfo.IndexInfo.class.getName())) {
-                throw new InvalidClassException("Not allowed to deserialize class", name);
+            if (name.equals(String.class.getName()) ||
+                    name.equals(DictionaryInfo.IndexInfo.class.getName()) ||
+                    name.equals(ArrayList.class.getName()) ||
+                    name.equals(HashMap.class.getName()) ||
+                    name.equals(DictionaryInfo.class.getName()) ||
+                    name.equals(DictionaryApplication.DictionaryConfig.class.getName()) ||
+                    name.equals(LinkedHashMap.class.getName())) {
+                return super.resolveClass(desc);
             }
-            return super.resolveClass(desc);
+            throw new InvalidClassException("Not allowed to deserialize class", name);
         }
     }