Browse Source

[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>
maint
Linus Torvalds 20 years ago committed by Junio C Hamano
parent
commit
3c3852e33b
  1. 2
      sha1_name.c

2
sha1_name.c

@ -148,7 +148,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1) @@ -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++) {

Loading…
Cancel
Save