]> granicus.if.org Git - icu/commitdiff
ICU-8854 Possible null pointer dereference.
authorAbhinav Gupta <mail@abhinavg.net>
Mon, 7 Nov 2011 16:36:22 +0000 (16:36 +0000)
committerAbhinav Gupta <mail@abhinavg.net>
Mon, 7 Nov 2011 16:36:22 +0000 (16:36 +0000)
X-SVN-Rev: 30936

icu4j/main/classes/core/src/com/ibm/icu/impl/ZoneMeta.java

index ddfa4d2254b4c1d09bbcf06b126cf98602891cf5..f79eecfab69b68740a0b4be8939031e5194951f6 100644 (file)
@@ -351,7 +351,7 @@ public final class ZoneMeta {
      * the id itself. If the given tzid is not known, return null.
      * 
      * Note: This internal API supports all known system IDs and "Etc/Unknown" (which is
-     * NOT a sysmte ID).
+     * NOT a system ID).
      */
     public static String getCanonicalCLDRID(String tzid) {
         String canonical = CANONICAL_ID_CACHE.get(tzid);
@@ -377,9 +377,11 @@ public final class ZoneMeta {
                             ICUResourceBundle.ICU_BASE_NAME, "keyTypeData", ICUResourceBundle.ICU_DATA_CLASS_LOADER);
                     UResourceBundle typeAlias = keyTypeData.get("typeAlias");
                     UResourceBundle aliasesForKey = typeAlias.get("timezone");
-                    String cldrCanonical = aliasesForKey.getString(canonical.replace('/', ':'));
-                    if (cldrCanonical != null) {
-                        canonical = cldrCanonical;
+                    if (canonical != null) {
+                        String cldrCanonical = aliasesForKey.getString(canonical.replace('/', ':'));
+                        if (cldrCanonical != null) {
+                            canonical = cldrCanonical;
+                        }
                     }
                 } catch (MissingResourceException e) {
                     // fall through