summaryrefslogtreecommitdiff
path: root/src/revparse.c
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-09-17 07:11:32 +0200
committernulltoken <emeric.fermas@gmail.com>2012-09-25 07:49:15 +0200
commit77e06d7e8547e82336489b7cdeb04294ed3d6015 (patch)
treec1715edc9ba6ae7ac17a23d4f4f46b36da7ac8ba /src/revparse.c
parentc030ada7ff7f9c93a2287ca2f57173d66fbff88a (diff)
downloadlibgit2-77e06d7e8547e82336489b7cdeb04294ed3d6015.tar.gz
refs: introduce git_reference_is_valid_name()
Diffstat (limited to 'src/revparse.c')
-rw-r--r--src/revparse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/revparse.c b/src/revparse.c
index 17266b944..5e2db99cd 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -50,6 +50,11 @@ static int disambiguate_refname(git_reference **out, git_repository *repo, const
if ((error = git_buf_printf(&refnamebuf, formatters[i], git_buf_cstr(&name))) < 0)
goto cleanup;
+ if (!git_reference_is_valid_name(git_buf_cstr(&refnamebuf))) {
+ error = GIT_ENOTFOUND;
+ continue;
+ }
+
error = git_reference_lookup_resolved(&ref, repo, git_buf_cstr(&refnamebuf), -1);
if (!error) {