summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@osdl.org>2005-08-13 18:05:25 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-08-14 01:28:51 (GMT)
commit3c3852e33b3e40ad64885d845cb92a52c7b15884 (patch)
tree1cad56b1361f3c109e59c0f89b718adf23a1d993
parent02a4a32c2da9a89eb9ebc58325adcb47775c9ed5 (diff)
downloadgit-3c3852e33b3e40ad64885d845cb92a52c7b15884.zip
git-3c3852e33b3e40ad64885d845cb92a52c7b15884.tar.gz
git-3c3852e33b3e40ad64885d845cb92a52c7b15884.tar.bz2
[PATCH] Make get_sha1_basic() more careful
The "get_sha1_hex()" function is designed to work with SHA1 hex strings that may be followed by arbitrary crud. However, that's not acceptable for "get_sha1()" which is used for command line arguments etc: we don't want to silently allow random characters after the end of the SHA1. So verify that the hex string is all we have. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--sha1_name.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sha1_name.c b/sha1_name.c
index df45b17..fdd3214 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -148,7 +148,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
};
const char **p;
- if (!get_sha1_hex(str, sha1))
+ if (len == 40 && !get_sha1_hex(str, sha1))
return 0;
for (p = prefix; *p; p++) {