diff options
author | Linus Torvalds <torvalds@osdl.org> | 2005-08-13 11:05:25 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-13 18:28:51 -0700 |
commit | 3c3852e33b3e40ad64885d845cb92a52c7b15884 (patch) | |
tree | 1cad56b1361f3c109e59c0f89b718adf23a1d993 /sha1_name.c | |
parent | 02a4a32c2da9a89eb9ebc58325adcb47775c9ed5 (diff) | |
download | git-3c3852e33b3e40ad64885d845cb92a52c7b15884.tar.gz git-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>
Diffstat (limited to 'sha1_name.c')
-rw-r--r-- | sha1_name.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sha1_name.c b/sha1_name.c index df45b172a..fdd321448 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++) { |