From 7565dc6572e94ee10462169dd07ba8afe08388c7 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Tue, 23 Feb 2016 13:33:10 -0500 Subject: git_object__is_valid: simple object validity test --- src/object.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/object.h b/src/object.h index 358279a3d..782436017 100644 --- a/src/object.h +++ b/src/object.h @@ -30,4 +30,20 @@ int git_oid__parse(git_oid *oid, const char **buffer_out, const char *buffer_end void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid); +GIT_INLINE(bool) git_object__is_valid( + git_repository *repo, const git_oid *id, git_otype type) +{ + git_object *obj = NULL; + bool valid = true; + + if (git_object__strict_input_validation) { + if (git_object_lookup(&obj, repo, id, type) < 0) + valid = false; + + git_object_free(obj); + } + + return valid; +} + #endif -- cgit v1.2.1