Commits


Do not segfault verifying "lightweight" tags ok stsp@


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@


gotwebd: free in_repo_path in got_get_repo_commits; ok stsp@


gotwebd: always free ref in got_get_repo_commits some code-paths may leak it. ok stsp@


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.


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@


gotwebd: plug some leaks in got_get_repo_tags ok stsp@


gotwebd: free age and reflist in gotweb_render_branches ok stsp@


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


sync files from diff.git 810479a563ffd6176105f64cb49f9829d45d36df


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@


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)


gotwebd: free scandir(3) result in gotweb_render_index ok stsp@


gotwebd: free qs->headref before overwriting it


gotwebd: fix leak in gotweb_init_querystring in error path if strdup fails we fail to free the querystring Found by clang' scan-build.