Commit Briefs
CHANGES for 0.75 (tags/0.75)
gotwebd: fix briefs navigation broken in 4a9629420
got_get_repo_commits iterates over the commits and build a queue for later display. My previous memleak fix moved the TAILQ_INSERT_TAIL *before* the logic to exit the loop and so it broke the pagination. This fixes it by delaying the insertion into the queue, but also by moving the check for the "previous" button after we've opened the commit. ok tracey
gotwebd: percent-encode generated URLs
This adds a new helper function `gotweb_link' that outputs an HTML link with the parameter correctly escaped. ok stsp@
gotwebd: add missing closing for div tags_content
reported by the W3C validator.
gotwebd: fix page title
due to an error in the order of the arguments to fcgi_printf that I've introduced last time I touched gotweb_render_header the title is now "/" (or SCRIPT_NAME) and one assets (the safari pinned tab svg) is a funny URL :)
tog: ensure stdin is a tty
This guards against {mis,ab}use such as `tog < /dev/null`. ok plus fix from op@
gotwebd: shrink struct server
keeping GOTWEBD_REPO_CACHESIZE * sizeof(struct cache_repo) inside the struct server makes it too large for imsg on some platforms (linux at least.) Instead, store a pointer and allocate the array when it's received on the child processes. ok stsp@
gotwebd: fix crash handling -D
Avoid crashing by corrupting the pointer instead of writing to it and fix how sym is generated: it shouldn't include the '=' sign. ok / improvement tb@
plug leak in the commit graph iterator
We fail to release the memory for the nodes. To fix it however, we some consumer of the commit graph iterator need to be corrected: the returned pointer is safe to be used only up until the next iter_next call; save a copy it if it's needed afterwards too. ok stsp@
gotwebd: fix usage of the commit graph iter
got_get_repo_commits mixes ids allocated on the heap and the one returned by the iter_next in the same variable, and then even attemp to free it. This is both a leak (we loose the pointer to the previously allocated id) and a possible invalid free since the object id pointer returned by the graph iterator is not to be passed to free(3). part of a bigger diff that's ok stsp@
add missing freaddrinfo
also spotted by valgrind. ok stsp@
release the memory used by the object cache
Leak spotted by valgrind. ok stsp@
replace an indirect call to idset_add(), via add_node(), with a direct call
Avoids leaking the node structure returned from add_node(). ok op@
got: fflush(stdout) after asking questions
Not everywhere getline does an implicit fflush, so we might end up not showing the prompt to the user. Spotted on alpine with muslc. ok Thomas Adams
free commit on error path
while here drop the ternary too: if add_node succeeds `new_node' is non-NULL. ok stsp@
got_commit_graph_close: free tailq contents
The tailq should ideally be empty when we reach got_commit_graph_close, but consumer code may exit the commit graph loop earlier. spotted by and ok stsp@
plug leak in resolve_symlink
ok stsp@