Fix random segfaults in pack-objects.
[gitweb.git] / dump-cache-tree.c
index fbea263dd9a37726f7b9e29154d56b26cfe921c2..1f73f1ea7dfa6a14dedf384c99751e86c8121ff4 100644 (file)
@@ -21,10 +21,9 @@ static int dump_cache_tree(struct cache_tree *it,
        int i;
        int errs = 0;
 
-       if (!it)
-               return;
-       if (!ref)
-               die("internal error");
+       if (!it || !ref)
+               /* missing in either */
+               return 0;
 
        if (it->entry_count < 0) {
                dump_one(it, pfx, "");
@@ -34,7 +33,7 @@ static int dump_cache_tree(struct cache_tree *it,
        }
        else {
                dump_one(it, pfx, "");
-               if (memcmp(it->sha1, ref->sha1, 20) ||
+               if (hashcmp(it->sha1, ref->sha1) ||
                    ref->entry_count != it->entry_count ||
                    ref->subtree_nr != it->subtree_nr) {
                        dump_one(ref, pfx, "#(ref) ");