Commit Briefs
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@
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@
read_gitconfig: fix GOT_IGNORE_GITCONFIG case
set gitconfig_remotes to NULL to avoid a double-free, and reset the global author name/email fields too. ok stsp@
got_repo_pack_fds_close: don't close(0)
got_repo_pack_fds_close will try to close all of the GOT_PACK_NUM_TEMPFILES fds, even the ones that didn't manage to get a value from got_opentempfd(), which would result in a close(0) if we do not initialize to -1 here.
Make sure got_repo_pack_fds_close() frees a malloc'ed pointer.
Found by llvm's scan-build (bad free). OK stsp
Don't chug along if repo format version is unsupported.
Found by llvm's scan-build (dead store). OK stsp
move got_opentempfd out of got_repo_open. ok stsp@
thanks for all the help massaging this diff