git/builtin
Jeff King 7f897b6f17 avoid using fixed PATH_MAX buffers for refs
Many functions which handle refs use a PATH_MAX-sized buffer
to do so. This is mostly reasonable as we have to write
loose refs into the filesystem, and at least on Linux the 4K
PATH_MAX is big enough that nobody would care. But:

  1. The static PATH_MAX is not always the filesystem limit.

  2. On other platforms, PATH_MAX may be much smaller.

  3. As we move to alternate ref storage, we won't be bound
     by filesystem limits.

Let's convert these to heap buffers so we don't have to
worry about truncation or size limits.

We may want to eventually constrain ref lengths for sanity
and to prevent malicious names, but we should do so
consistently across all platforms, and in a central place
(like the ref code).

Signed-off-by: Jeff King <peff@peff.net>
2017-03-30 14:59:50 -07:00
..
add.c
am.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
annotate.c
apply.c
archive.c
bisect--helper.c
blame.c Merge branch 'rs/blame-code-cleanup' 2017-03-17 13:50:24 -07:00
branch.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
bundle.c bundle: use prefix_filename with bundle path 2017-03-21 11:18:41 -07:00
cat-file.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
check-attr.c attr: tighten const correctness with git_attr and match_attr 2017-02-01 13:46:53 -08:00
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c
checkout.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
clean.c Merge branch 'nd/clean-preserve-errno-in-warning' 2017-02-27 13:57:16 -08:00
clone.c builtin/clone: convert to struct object_id 2017-02-22 10:12:15 -08:00
column.c
commit-tree.c
commit.c builtin/commit: convert to struct object_id 2017-02-20 01:11:26 -08:00
config.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
count-objects.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
credential.c
describe.c builtin/describe: introduce --broken flag 2017-03-22 10:13:41 -07:00
diff-files.c
diff-index.c
diff-tree.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
diff.c use SWAP macro 2017-01-30 14:17:00 -08:00
difftool.c difftool: handle modified symlinks in dir-diff mode 2017-03-15 12:08:10 -07:00
fast-export.c builtin/fast-export: convert to struct object_id 2017-02-22 10:12:15 -08:00
fetch-pack.c fetch-pack: move code to report unmatched refs to a function 2017-03-02 11:12:53 -08:00
fetch.c fetch: use heap buffer to format reflog 2017-03-30 14:59:50 -07:00
fmt-merge-msg.c builtin/fmt-merge-message: convert to struct object_id 2017-02-22 10:12:15 -08:00
for-each-ref.c
fsck.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
gc.c Merge branch 'cc/split-index-config' 2017-03-17 13:50:23 -07:00
get-tar-commit-id.c
grep.c Merge branch 'sb/checkout-recurse-submodules' 2017-03-28 14:05:58 -07:00
hash-object.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
help.c
index-pack.c odb_mkstemp: write filename into strbuf 2017-03-28 15:28:04 -07:00
init-db.c real_pathdup(): fix callsites that wanted it to die on error 2017-03-08 14:38:41 -08:00
interpret-trailers.c
log.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
ls-files.c ls-files: move only kept cache entries in prune_cache() 2017-02-13 12:06:10 -08:00
ls-remote.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
ls-tree.c ls-tree: convert show_recursive to use the pathspec struct interface 2017-01-08 18:04:17 -08:00
mailinfo.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
mailsplit.c
merge-base.c builtin/merge-base: convert to struct object_id 2017-02-22 10:12:16 -08:00
merge-file.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
merge-index.c use oid_to_hex_r() for converting struct object_id hashes to hex strings 2017-01-30 14:23:40 -08:00
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
mktag.c
mktree.c
mv.c Merge branch 'bw/pathspec-cleanup' 2017-01-18 15:12:15 -08:00
name-rev.c name-rev: add support to exclude refs by pattern match 2017-01-23 18:33:17 -08:00
notes.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
pack-objects.c Merge branch 'jk/fast-import-cleanup' 2017-03-28 14:05:59 -07:00
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
prune.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
pull.c Merge branch 'jc/pull-rebase-ff' into maint 2017-01-17 15:11:05 -08:00
push.c Merge branch 'bw/push-submodule-only' 2017-01-31 13:14:56 -08:00
read-tree.c builtin/read-tree: add --recurse-submodules switch 2017-03-16 14:07:16 -07:00
rebase--helper.c rebase--helper: add a builtin helper for interactive rebases 2017-02-09 14:55:26 -08:00
receive-pack.c Merge branch 'rs/update-hook-optim' 2017-03-24 13:07:37 -07:00
reflog.c refs: convert each_reflog_ent_fn to struct object_id 2017-02-22 10:12:15 -08:00
remote-ext.c
remote-fd.c
remote.c Merge branch 'rl/remote-allow-missing-branch-name-merge' into maint 2017-03-21 15:03:28 -07:00
repack.c repack: die on incremental + write-bitmap-index 2016-12-29 13:45:37 -08:00
replace.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
rerere.c
reset.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
rev-list.c use oid_to_hex_r() for converting struct object_id hashes to hex strings 2017-01-30 14:23:40 -08:00
rev-parse.c Merge branch 'jk/prefix-filename' 2017-03-27 10:59:26 -07:00
revert.c Merge branch 'jk/cherry-pick-0-mainline' 2017-03-17 13:50:28 -07:00
rm.c rm: reuse strbuf for all remove_dir_recursively() calls, again 2017-02-13 14:33:32 -08:00
send-pack.c remote-curl: allow push options 2017-03-22 15:41:21 -07:00
shortlog.c Merge branch 'rs/shortlog-cleanup' 2017-03-24 13:07:37 -07:00
show-branch.c Merge branch 'jk/show-branch-lift-name-len-limit' into maint 2017-03-21 15:03:29 -07:00
show-ref.c show-ref: remove a stale comment 2017-01-23 18:51:56 -08:00
stripspace.c
submodule--helper.c Merge branch 'sb/checkout-recurse-submodules' 2017-03-28 14:05:58 -07:00
symbolic-ref.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
tag.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
unpack-file.c
unpack-objects.c
update-index.c update-index: warn in case of split-index incoherency 2017-03-01 13:24:21 -08:00
update-ref.c update-ref: pass reflog message to delete_ref() 2017-02-20 22:04:47 -08:00
update-server-info.c
upload-archive.c
var.c
verify-commit.c
verify-pack.c
verify-tag.c builtin/verify-tag: add --format to verify-tag 2017-01-17 16:10:22 -08:00
worktree.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
write-tree.c