Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
[PATCH] fix segfault in fsck-cache
author
Andreas Gal
<gal@uci.edu>
Sun, 24 Apr 2005 21:04:13 +0000
(14:04 -0700)
committer
Linus Torvalds
<torvalds@ppc970.osdl.org>
Sun, 24 Apr 2005 21:04:13 +0000
(14:04 -0700)
Here is how to trigger it:
echo blob 100 > .git/objects/00/
ae4e8d3208e09f2cf7a38202a126f728cadb49
Then run fsck-cache. It will try to unpack after the header to calculate
the hash, inflate returns total_out == 0 and memcpy() dies.
The patch below seems to work with ZLIB 1.1 and 1.2.
Signed-off-by: Andreas Gal <gal@uci.edu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
sha1_file.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(from parent 1:
c5b4238
)
diff --git
a/sha1_file.c
b/sha1_file.c
index 97a515a073fec5870dfaaa279868ce9330853d3d..28ad1598e54200ca8ee1261ed7beb4e31e20b2f1 100644
(file)
--- a/
sha1_file.c
+++ b/
sha1_file.c
@@
-155,6
+155,8
@@
void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, unsigned l
inflateInit(&stream);
ret = inflate(&stream, 0);
+ if (ret < Z_OK)
+ return NULL;
if (sscanf(buffer, "%10s %lu", type, size) != 2)
return NULL;