diff --git a/sha1_name.c b/sha1_name.c
index e5170336ff27606596fa8de887b576a0b9ab3cb8..6d7cd78381414aa2fef31d31d46fbb24b0aaab1d 100644 (file)
--- a/sha1_name.c
+++ b/sha1_name.c
char canonical[40];
unsigned char res[20];
- if (len < MINIMUM_ABBREV)
+ if (len < MINIMUM_ABBREV || len > 40)
return -1;
hashclr(res);
memset(canonical, 'x', 40);
return 0;
/* basic@{time or number} format to query ref-log */
- reflog_len = 0;
+ reflog_len = at = 0;
if (str[len-1] == '}') {
for (at = 1; at < len - 1; at++) {
if (str[at] == '@' && str[at+1] == '{') {