summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Linus Torvalds <torvalds@osdl.org>2005-08-13 11:05:25 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-08-13 18:28:51 -0700
commit3c3852e33b3e40ad64885d845cb92a52c7b15884 (patch)
tree1cad56b1361f3c109e59c0f89b718adf23a1d993
parent[PATCH] Make sure git-resolve-script always works on commits (diff)
downloadtgif-3c3852e33b3e40ad64885d845cb92a52c7b15884.tar.xz
[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 df45b172a3..fdd321448c 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++) {