Commit Briefs

Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

add missing freaddrinfo

also spotted by valgrind. ok stsp@


Thomas Adam

release the memory used by the object cache

Leak spotted by valgrind. ok stsp@


Thomas Adam

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@


Thomas Adam

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


Thomas Adam

free commit on error path

while here drop the ternary too: if add_node succeeds `new_node' is non-NULL. ok stsp@


Thomas Adam

plug leak: release nodes not added to the iter list

ok stsp@


Thomas Adam

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@


Thomas Adam

forbid rebase of references outside the refs/heads/ namespace

ok jrick


Thomas Adam

plug leak in resolve_symlink

ok stsp@


Thomas Adam

gotwebd: percent-decode the received query string

ok stsp@


Thomas Adam

plug mem leak in got_repo_pack_fds_open

pack_fds_tmp is not always free'd. However, while here, simplify it to not use a temporary array. ok stsp@


Thomas Adam

gotwebd: free obj_id and reflist in got_output_file_blame

ok stsp@


Thomas Adam

gotwebd: got_output_file_blame: free lines on error path

ok stsp@


Thomas Adam

gotwebd: free eline in got_gotweb_blame_cb loop

ok stsp@


Thomas Adam

gotwebd: drop superfluous check

commit_id is not NULL if got_repo_match_object_id returned successfully. ok stsp@


Thomas Adam

sync file with diff.git 279d77aa1e4b921090e702a6a8a5a94a98a062b1 and

use the faster headers-only mode for diff3



Thomas Adam

gotwebd: kill unused id_str in got_output_repo_tree

ok stsp@


Thomas Adam

gotwebd: avoid extra strdups in got_output_repo_tree

ok stsp@


Thomas Adam

gotwebd: avoid extra variable in got_output_repo_tree

in_repo_path was used only to build a path, it's then assigned to path (which is NULL at that point.) Just asprintf into path. ok stsp@


Thomas Adam

Do not segfault verifying "lightweight" tags

ok stsp@


Thomas Adam

gotwebd: plugs leaks in got_get_repo_commits

call got_get_repo_commit only once and avoid leaking the field of repo_commit at each loop iteration. ok stsp@