Commit Briefs

Omar Polo

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@


Omar Polo

gotwebd: free obj_id and reflist in got_output_file_blame

ok stsp@


Omar Polo

gotwebd: got_output_file_blame: free lines on error path

ok stsp@


Omar Polo

gotwebd: free eline in got_gotweb_blame_cb loop

ok stsp@


Omar Polo

gotwebd: drop superfluous check

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


Stefan Sperling

sync file with diff.git 279d77aa1e4b921090e702a6a8a5a94a98a062b1 and

use the faster headers-only mode for diff3



Omar Polo

gotwebd: kill unused id_str in got_output_repo_tree

ok stsp@


Omar Polo

gotwebd: avoid extra strdups in got_output_repo_tree

ok stsp@


Omar Polo

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@


Josh Rickmar

Do not segfault verifying "lightweight" tags

ok stsp@


Omar Polo

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@



Omar Polo

gotwebd: always free ref in got_get_repo_commits

some code-paths may leak it. ok stsp@


Omar Polo

gotwebd: don't close tag in got_get_repo_tags too early

it's still used a bit later, so defer the free'ing at the next loop iteration or at function end.


Omar Polo

gotwebd: free commit_msg0 only at the end of got_get_repo_tags

in case of a failure between when it's allocated and when it's released it might get leaked otherwise. ok and semplification stsp@


Omar Polo

gotwebd: plug some leaks in got_get_repo_tags

ok stsp@


Omar Polo

gotwebd: free age and reflist in gotweb_render_branches

ok stsp@


Stefan Sperling

switch diff output mode from "edscript" to "plain" for diff3

getchange() in diff3.c takes any line that starts with an integer and treats it as a hunk header. It doesn't actually require ed script instructions, and traditional ed script diff output would break it. Thus, changing Got's diff3 to rely on plain diff output mode paves the way for implementing traditional ed-script style output in diff.git. Patch by Tom Jones



Omar Polo

plug a leak in match_loose_object

in the loop of match_loose_object we allocate a string per directory entry that in some case it was free(3)'d before `continue' or `goto', but not always. Instead, use a more common idiom. ok stsp@


Mark Jamsek

sync files from diff.git 35eae7fa6b782ae1d000183ef2efc4383dfec4cd

This removes the gcc ternary if extension (includes follow-up diff.git fix for missing '\' in wrapped macro 7a38b3a33f8b124c9c01da154dfdf711d328b01d)


Omar Polo

gotwebd: free scandir(3) result in gotweb_render_index

ok stsp@



Omar Polo

gotwebd: fix leak in gotweb_init_querystring in error path

if strdup fails we fail to free the querystring Found by clang' scan-build.