diff --git a/src/object.c b/src/object.c index fce99153b..c432c6da0 100644 --- a/src/object.c +++ b/src/object.c @@ -276,6 +276,9 @@ int git_object_lookup(git_object **object_out, git_repository *repo, const git_o object = git_hashtable_lookup(repo->objects, id); if (object != NULL) { + if (type != GIT_OBJ_ANY && type != object->source.raw.type) + return GIT_EINVALIDTYPE; + *object_out = object; object->lru = ++repo->lru_counter; object->can_free = 0;