From 5a6f31f28b58d93232b742f02ad0a6f64c0dfbb8 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Thu, 12 Jul 2012 13:20:29 +0200 Subject: [PATCH] revparse: only allow decimal specifiers in carete and tilde synatx passing 0 to git_strol(32|64) let the implementation guess if it's dealing with an octal number or a decimal one. Let's make it safe and ensure that both 'HEAD@{010}' and 'HEAD@{10}' point at the same commit. --- src/revparse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/revparse.c b/src/revparse.c index 270bdaa23..2631e50d2 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -482,7 +482,7 @@ static int handle_caret_syntax(git_object **out, git_repository *repo, git_objec if (movementlen == 0) { n = 1; } else { - git__strtol32(&n, movement, NULL, 0); + git__strtol32(&n, movement, NULL, 10); } commit = (git_commit*)obj; @@ -513,7 +513,7 @@ static int handle_linear_syntax(git_object **out, git_object *obj, const char *m /* "~" is the same as "~1" */ if (*movement == '\0') { n = 1; - } else if (git__strtol32(&n, movement, NULL, 0) < 0) { + } else if (git__strtol32(&n, movement, NULL, 10) < 0) { return GIT_ERROR; }