diff options
author | Carlos Martín Nieto <carlos@cmartin.tk> | 2012-07-23 21:22:53 +0200 |
---|---|---|
committer | Carlos Martín Nieto <carlos@cmartin.tk> | 2012-07-23 21:32:45 +0200 |
commit | 279b45b05b05e0dfc496701c4d22e5ea601d0ebf (patch) | |
tree | 226b7c72024196fae9d2c29806c3abd99093e01a /src/revparse.c | |
parent | 14e1bc157a06d4513ce4193e6100a338432b3c88 (diff) | |
download | libgit2-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.c | 6 |
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; |