Просмотр исходного кода

MAPREDUCE-2317. Fix a NPE in HadoopArchives. Contributed by Devaraj K

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20@1096027 13f79535-47bb-0310-9956-ffa450edef68
Tsz-wo Sze 14 лет назад
Родитель
Сommit
80233b72a9
2 измененных файлов с 13 добавлено и 9 удалено
  1. 2 0
      CHANGES.txt
  2. 11 9
      src/tools/org/apache/hadoop/tools/HadoopArchives.java

+ 2 - 0
CHANGES.txt

@@ -6,6 +6,8 @@ Release 0.20.4 - Unreleased
 
   BUG FIXES
 
+    MAPREDUCE-2317. Fix a NPE in HadoopArchives.  (Devaraj K via szetszwo)
+
   IMPROVEMENTS
 
 Release 0.20.3 - 2011-1-5

+ 11 - 9
src/tools/org/apache/hadoop/tools/HadoopArchives.java

@@ -269,16 +269,18 @@ public class HadoopArchives implements Tool {
         }
         else {
           Path parent = p.getParent();
-          if (allpaths.containsKey(parent.toString())) {
-            HashSet<String> children = allpaths.get(parent.toString());
-            children.add(p.getName());
-          }
-          else {
-            HashSet<String> children = new HashSet<String>();
-            children.add(p.getName());
-            allpaths.put(parent.toString(), children);
+          if (null != parent) {
+            if (allpaths.containsKey(parent.toString())) {
+              HashSet<String> children = allpaths.get(parent.toString());
+              children.add(p.getName());
+            } 
+            else {
+              HashSet<String> children = new HashSet<String>();
+              children.add(p.getName());
+              allpaths.put(parent.toString(), children);
+            }
+            parents.add(parent);
           }
-          parents.add(parent);
         }
       }
       justDirs = parents;