Andrew's git
/
gitweb.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
commit
grep
author
committer
pickaxe
?
re
avoid infinite loop in read_istream_loose
[gitweb.git]
/
sha1_file.c
diff --git
a/sha1_file.c
b/sha1_file.c
index 16967d3b9a86dc481a5161f0a98220e05790ca01..0b99f336e62256606f3fffc3eaf0ee7727d428c5 100644
(file)
--- a/
sha1_file.c
+++ b/
sha1_file.c
@@
-1266,6
+1266,10
@@
int check_sha1_signature(const unsigned char *sha1, void *map,
char buf[1024 * 16];
ssize_t readlen = read_istream(st, buf, sizeof(buf));
+ if (readlen < 0) {
+ close_istream(st);
+ return -1;
+ }
if (!readlen)
break;
git_SHA1_Update(&c, buf, readlen);