Code

use xstrdup, not strdup in ll-merge.c
[git.git] / list-objects.c
index 4ef58e7ec01ebdfc6f036ccafaf837b2b38ed7a5..dd243c7c662c2f3fe9463b616bb00bed2cc503a7 100644 (file)
@@ -18,10 +18,11 @@ static void process_blob(struct rev_info *revs,
 
        if (!revs->blob_objects)
                return;
+       if (!obj)
+               die("bad blob object");
        if (obj->flags & (UNINTERESTING | SEEN))
                return;
        obj->flags |= SEEN;
-       name = xstrdup(name);
        add_object(obj, p, path, name);
 }
 
@@ -69,12 +70,13 @@ static void process_tree(struct rev_info *revs,
 
        if (!revs->tree_objects)
                return;
+       if (!obj)
+               die("bad tree object");
        if (obj->flags & (UNINTERESTING | SEEN))
                return;
        if (parse_tree(tree) < 0)
                die("bad tree object %s", sha1_to_hex(obj->sha1));
        obj->flags |= SEEN;
-       name = xstrdup(name);
        add_object(obj, p, path, name);
        me.up = path;
        me.elem = name;