Verify that the object type matches for tree/commit objects even before parsing.

The type doesn't come from the parsing, the type also has to match the usage.
This commit is contained in:
Linus Torvalds 2005-04-24 14:22:09 -07:00
parent d32987be61
commit c35dfe8589
2 changed files with 2 additions and 2 deletions

View file

@ -15,7 +15,7 @@ struct commit *lookup_commit(unsigned char *sha1)
ret->object.type = commit_type;
return ret;
}
if (obj->parsed && obj->type != commit_type) {
if (obj->type != commit_type) {
error("Object %s is a %s, not a commit",
sha1_to_hex(sha1), obj->type);
return NULL;

2
tree.c
View file

@ -80,7 +80,7 @@ struct tree *lookup_tree(unsigned char *sha1)
ret->object.type = tree_type;
return ret;
}
if (obj->parsed && obj->type != tree_type) {
if (obj->type != tree_type) {
error("Object %s is a %s, not a tree",
sha1_to_hex(sha1), obj->type);
return NULL;