get_sha1_basic(): fix invalid memory access, found by valgrind
When get_sha1_basic() is passed a buffer of len 0, it should not check if buf[len-1] is a curly bracket. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin committed
Jan 28, 2009 at 00:07 UTC
f265458f6116a0c03200477ae3b839f2a75bf0fa
1 file changed
+1
-1
sha1_name.c
+1
-1
@@ -309,7 +309,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
309
310
/* basic@{time or number} format to query ref-log */
311
reflog_len = at = 0;
312
- if (str[len-1] == '}') {
312
+ if (len && str[len-1] == '}') {
313
for (at = 0; at < len - 1; at++) {
314
if (str[at] == '@' && str[at+1] == '{') {
315
reflog_len = (len-1) - (at+2);