[PATCH 2/2] get_sha1_basic(): fix invalid memory access, found by valgrind
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 27, 2009, 23:07 UTC
- Message-ID
- <alpine.DEB.1.00.0901280007400.3586@pacific.mpi-cbg.de>
- In-Reply-To
- <alpine.DEB.1.00.0901280005180.3586@pacific.mpi-cbg.de>
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> --- sha1_name.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sha1_name.c b/sha1_name.c index 7d95bbb..5d0ac02 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -334,7 +334,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1) /* basic@{time or number or -number} format to query ref-log */ reflog_len = at = 0; - if (str[len-1] == '}') { + if (len && str[len-1] == '}') { for (at = len-2; at >= 0; at--) { if (str[at] == '@' && str[at+1] == '{') { reflog_len = (len-1) - (at+2);
-- 1.6.1.482.g7d54be