Commit Briefs

Stefan Sperling

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.


Stefan Sperling

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.







Stefan Sperling

sync files from diff.git 29c010c8648ec861ee463bc8fa8c66a64dd01154

This brings in a build fix for OpenBSD/sparc64.


Stefan Sperling

changelog markup fix


Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.78 (tags/0.78)


Stefan Sperling

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'


Stefan Sperling

remove casts which make older gcc versions unhappy

../lib/diffreg.c:44: error: initializer element is not constant ../lib/diffreg.c:51: error: initializer element is not constant ../lib/diffreg.c:59: error: initializer element is not constant ../lib/diffreg.c:66: error: initializer element is not constant reported by Red on Libera IRC, and by sthen@ who pointed out such failures appearing in landry's sparc64 bulk build logs.


Stefan Sperling

fix reference counting of raw objects opened via privsep helpers

Such objects were never closed, resulting in memory and file descriptor leaks.