summaryrefslogtreecommitdiff
path: root/src/revparse.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2012-07-23 21:22:53 +0200
committerCarlos Martín Nieto <carlos@cmartin.tk>2012-07-23 21:32:45 +0200
commit279b45b05b05e0dfc496701c4d22e5ea601d0ebf (patch)
tree226b7c72024196fae9d2c29806c3abd99093e01a /src/revparse.c
parent14e1bc157a06d4513ce4193e6100a338432b3c88 (diff)
downloadlibgit2-279b45b05b05e0dfc496701c4d22e5ea601d0ebf.tar.gz
revparse: don't allow an empty string
Asking the library for "" used to give HEAD, but that's trying to impose a default at the wrong layer. Make it fail.
Diffstat (limited to 'src/revparse.c')
-rw-r--r--src/revparse.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/revparse.c b/src/revparse.c
index 6cfea0ca8..650d7a904 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -705,7 +705,7 @@ int git_revparse_single(git_object **out, git_repository *repo, const char *spec
*out = NULL;
- do {
+ while (spec[pos]) {
switch (spec[pos]) {
case '^':
if ((error = ensure_base_rev_loaded(&base_rev, &reference, spec, identifier_len, repo, false)) < 0)
@@ -813,9 +813,9 @@ int git_revparse_single(git_object **out, git_repository *repo, const char *spec
pos++;
identifier_len++;
}
- } while (spec[pos]);
+ }
- if ((error = ensure_base_rev_loaded(&base_rev, &reference, spec, identifier_len, repo, true)) < 0)
+ if ((error = ensure_base_rev_loaded(&base_rev, &reference, spec, identifier_len, repo, false)) < 0)
goto cleanup;
*out = base_rev;