Commit Briefs
reduce delta cache size to avoid running out of memory on large pack files
As reported by Jerome Kasper, got-index-pack would run out of memory while cloning projects like LLVM or the Linux kernel. The delta cache was pushed to its maximum size limit of ~2GB, which is much higher than the default user data limit on OpenBSD. Set the delta cache size limits to values which should result in the cache limiting itself to 128MB or less.
zero-initialize all of struct got_deflate_buf in got_deflate_init()
Fixes a potential bogus free on error. got_deflate_end() relies on zb.flags to be initialized. It will try to free a bogus zb.outbuf pointer if zb.flags happens to set by uninitialized stack memory while we are calling got_deflate_end() in an error path.
zero-initialize all of struct got_inflate_buf in got_inflate_init()
Fixes a potential bogus free on error. got_inflate_end() relies on zb.flags to be initialized. It will try to free a bogus zb.outbuf pointer if zb.flags happens to set by uninitialized stack memory while we are calling got_inflate_end() in an error path.
sync files from diff.git 29c010c8648ec861ee463bc8fa8c66a64dd01154
This brings in a build fix for OpenBSD/sparc64.
CHANGES for 0.78 (tags/0.78)
fix free() of wrong address in gotweb's parse.y
Found by sthen via ports-gcc: gotweb/parse.y:504:3: warning: attempt to free a non-heap object 'file'