Staging
v0.5.1
https://github.com/git/git
Revision 32c6dca8c428672c11a2a0ddf3cb2f7476caff86 authored by Junio C Hamano on 17 March 2016, 16:55:54 UTC, committed by Junio C Hamano on 17 March 2016, 18:22:24 UTC
Bugfix patches were backported from the 'master' front to plug heap
corruption holes, to catch integer overflow in the computation of
pathname lengths, and to get rid of the name_path API.  Both of
these would have resulted in writing over an under-allocated buffer
when formulating pathnames while tree traversal.

* jk/path-name-safety-2.4:
  list-objects: pass full pathname to callbacks
  list-objects: drop name_path entirely
  list-objects: convert name_path to a strbuf
  show_object_with_name: simplify by using path_name()
  http-push: stop using name_path
  tree-diff: catch integer overflow in combine_diff_path allocation
  add helpers for detecting size_t overflow
2 parent s a2558fb + 2824e18
History
Tip revision: 32c6dca8c428672c11a2a0ddf3cb2f7476caff86 authored by Junio C Hamano on 17 March 2016, 16:55:54 UTC
Merge branch 'jk/path-name-safety-2.4' into maint-2.4
Tip revision: 32c6dca
File Mode Size
Documentation
block-sha1
builtin
compat
contrib
ewah
git-gui
gitk-git
gitweb
mergetools
perl
po
ppc
t
templates
vcs-svn
xdiff
.gitattributes -rw-r--r-- 105 bytes
.gitignore -rw-r--r-- 3.6 KB
.mailmap -rw-r--r-- 13.9 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 763 bytes
INSTALL -rw-r--r-- 8.9 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 73.9 KB
README -rw-r--r-- 2.6 KB
RelNotes l--------- 33 bytes
abspath.c -rw-r--r-- 4.4 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 3.2 KB
advice.h -rw-r--r-- 927 bytes
alias.c -rw-r--r-- 1.5 KB
alloc.c -rw-r--r-- 2.6 KB
archive-tar.c -rw-r--r-- 11.0 KB
archive-zip.c -rw-r--r-- 12.7 KB
archive.c -rw-r--r-- 14.6 KB
archive.h -rw-r--r-- 1.3 KB
argv-array.c -rw-r--r-- 1.4 KB
argv-array.h -rw-r--r-- 577 bytes
attr.c -rw-r--r-- 19.7 KB
attr.h -rw-r--r-- 1.6 KB
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 23.6 KB
bisect.h -rw-r--r-- 644 bytes
blob.c -rw-r--r-- 389 bytes
blob.h -rw-r--r-- 664 bytes
branch.c -rw-r--r-- 7.9 KB
branch.h -rw-r--r-- 1.9 KB
builtin.h -rw-r--r-- 8.7 KB
bulk-checkin.c -rw-r--r-- 7.0 KB
bulk-checkin.h -rw-r--r-- 323 bytes
bundle.c -rw-r--r-- 11.9 KB
bundle.h -rw-r--r-- 707 bytes
cache-tree.c -rw-r--r-- 16.9 KB
cache-tree.h -rw-r--r-- 1.5 KB
cache.h -rw-r--r-- 58.7 KB
check-builtins.sh -rwxr-xr-x 596 bytes
check-racy.c -rw-r--r-- 538 bytes
check_bindir -rwxr-xr-x 374 bytes
color.c -rw-r--r-- 7.7 KB
color.h -rw-r--r-- 3.1 KB
column.c -rw-r--r-- 9.8 KB
column.h -rw-r--r-- 1.4 KB
combine-diff.c -rw-r--r-- 40.3 KB
command-list.txt -rw-r--r-- 8.0 KB
commit-slab.h -rw-r--r-- 4.0 KB
commit.c -rw-r--r-- 40.9 KB
commit.h -rw-r--r-- 13.1 KB
config.c -rw-r--r-- 55.1 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 15.8 KB
configure.ac -rw-r--r-- 34.5 KB
connect.c -rw-r--r-- 19.1 KB
connect.h -rw-r--r-- 596 bytes
connected.c -rw-r--r-- 3.2 KB
connected.h -rw-r--r-- 930 bytes
convert.c -rw-r--r-- 30.2 KB
convert.h -rw-r--r-- 2.3 KB
copy.c -rw-r--r-- 1.2 KB
credential-cache--daemon.c -rw-r--r-- 6.3 KB
credential-cache.c -rw-r--r-- 2.9 KB
credential-store.c -rw-r--r-- 5.0 KB
credential.c -rw-r--r-- 7.7 KB
credential.h -rw-r--r-- 833 bytes
csum-file.c -rw-r--r-- 4.0 KB
csum-file.h -rw-r--r-- 1.3 KB
ctype.c -rw-r--r-- 2.6 KB
daemon.c -rw-r--r-- 31.7 KB
date.c -rw-r--r-- 25.9 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 400 bytes
delta.h -rw-r--r-- 3.4 KB
diff-delta.c -rw-r--r-- 15.4 KB
diff-lib.c -rw-r--r-- 14.0 KB
diff-no-index.c -rw-r--r-- 7.0 KB
diff.c -rw-r--r-- 135.7 KB
diff.h -rw-r--r-- 11.5 KB
diffcore-break.c -rw-r--r-- 9.0 KB
diffcore-delta.c -rw-r--r-- 5.4 KB
diffcore-order.c -rw-r--r-- 2.4 KB
diffcore-pickaxe.c -rw-r--r-- 5.7 KB
diffcore-rename.c -rw-r--r-- 17.6 KB
diffcore.h -rw-r--r-- 4.8 KB
dir.c -rw-r--r-- 42.6 KB
dir.h -rw-r--r-- 7.0 KB
editor.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 7.4 KB
environment.c -rw-r--r-- 7.7 KB
exec_cmd.c -rw-r--r-- 3.1 KB
exec_cmd.h -rw-r--r-- 503 bytes
fast-import.c -rw-r--r-- 87.3 KB
fetch-pack.c -rw-r--r-- 25.7 KB
fetch-pack.h -rw-r--r-- 1.0 KB
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 13.7 KB
fsck.h -rw-r--r-- 1.1 KB
generate-cmdlist.sh -rwxr-xr-x 433 bytes
gettext.c -rw-r--r-- 4.8 KB
gettext.h -rw-r--r-- 2.2 KB
git-add--interactive.perl -rwxr-xr-x 36.1 KB
git-am.sh -rwxr-xr-x 23.7 KB
git-archimport.perl -rwxr-xr-x 36.0 KB
git-bisect.sh -rwxr-xr-x 11.8 KB
git-compat-util.h -rw-r--r-- 24.5 KB
git-cvsexportcommit.perl -rwxr-xr-x 12.6 KB
git-cvsimport.perl -rwxr-xr-x 31.3 KB
git-cvsserver.perl -rwxr-xr-x 158.6 KB
git-difftool--helper.sh -rwxr-xr-x 2.1 KB
git-difftool.perl -rwxr-xr-x 13.2 KB
git-filter-branch.sh -rwxr-xr-x 11.6 KB
git-instaweb.sh -rwxr-xr-x 18.1 KB
git-merge-octopus.sh -rwxr-xr-x 2.2 KB
git-merge-one-file.sh -rwxr-xr-x 3.4 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 7.2 KB
git-mergetool.sh -rwxr-xr-x 9.1 KB
git-p4.py -rwxr-xr-x 119.3 KB
git-parse-remote.sh -rw-r--r-- 2.3 KB
git-pull.sh -rwxr-xr-x 8.6 KB
git-quiltimport.sh -rwxr-xr-x 3.3 KB
git-rebase--am.sh -rw-r--r-- 2.4 KB
git-rebase--interactive.sh -rw-r--r-- 28.5 KB
git-rebase--merge.sh -rw-r--r-- 3.7 KB
git-rebase.sh -rwxr-xr-x 15.7 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote-testgit.sh -rwxr-xr-x 2.9 KB
git-request-pull.sh -rwxr-xr-x 3.8 KB
git-send-email.perl -rwxr-xr-x 46.5 KB
git-sh-i18n.sh -rw-r--r-- 2.0 KB
git-sh-setup.sh -rw-r--r-- 8.1 KB
git-stash.sh -rwxr-xr-x 13.5 KB
git-submodule.sh -rwxr-xr-x 31.8 KB
git-svn.perl -rwxr-xr-x 62.3 KB
git-web--browse.sh -rwxr-xr-x 4.3 KB
git.c -rw-r--r-- 19.5 KB
git.rc -rw-r--r-- 566 bytes
git.spec.in -rw-r--r-- 11.1 KB
gpg-interface.c -rw-r--r-- 5.6 KB
gpg-interface.h -rw-r--r-- 930 bytes
graph.c -rw-r--r-- 34.5 KB
graph.h -rw-r--r-- 3.9 KB
grep.c -rw-r--r-- 41.3 KB
grep.h -rw-r--r-- 4.8 KB
hashmap.c -rw-r--r-- 6.3 KB
hashmap.h -rw-r--r-- 2.5 KB
help.c -rw-r--r-- 11.0 KB
help.h -rw-r--r-- 1.1 KB
hex.c -rw-r--r-- 2.3 KB
http-backend.c -rw-r--r-- 15.7 KB
http-fetch.c -rw-r--r-- 2.3 KB
http-push.c -rw-r--r-- 50.0 KB
http-walker.c -rw-r--r-- 13.8 KB
http.c -rw-r--r-- 44.6 KB
http.h -rw-r--r-- 6.2 KB
ident.c -rw-r--r-- 10.3 KB
imap-send.c -rw-r--r-- 35.7 KB
khash.h -rw-r--r-- 12.6 KB
kwset.c -rw-r--r-- 20.5 KB
kwset.h -rw-r--r-- 2.6 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
line-log.c -rw-r--r-- 30.6 KB
line-log.h -rw-r--r-- 1.8 KB
line-range.c -rw-r--r-- 6.5 KB
line-range.h -rw-r--r-- 1.3 KB
list-objects.c -rw-r--r-- 6.0 KB
list-objects.h -rw-r--r-- 381 bytes
ll-merge.c -rw-r--r-- 10.2 KB
ll-merge.h -rw-r--r-- 567 bytes
lockfile.c -rw-r--r-- 7.9 KB
lockfile.h -rw-r--r-- 3.3 KB
log-tree.c -rw-r--r-- 24.2 KB
log-tree.h -rw-r--r-- 1.2 KB
mailmap.c -rw-r--r-- 8.9 KB
mailmap.h -rw-r--r-- 271 bytes
match-trees.c -rw-r--r-- 8.0 KB
merge-blobs.c -rw-r--r-- 2.6 KB
merge-blobs.h -rw-r--r-- 194 bytes
merge-recursive.c -rw-r--r-- 57.7 KB
merge-recursive.h -rw-r--r-- 1.6 KB
merge.c -rw-r--r-- 2.4 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
name-hash.c -rw-r--r-- 6.2 KB
notes-cache.c -rw-r--r-- 2.2 KB
notes-cache.h -rw-r--r-- 500 bytes
notes-merge.c -rw-r--r-- 22.6 KB
notes-merge.h -rw-r--r-- 2.9 KB
notes-utils.c -rw-r--r-- 4.4 KB
notes-utils.h -rw-r--r-- 1.1 KB
notes.c -rw-r--r-- 36.2 KB
notes.h -rw-r--r-- 11.2 KB
object.c -rw-r--r-- 9.5 KB
object.h -rw-r--r-- 4.5 KB
pack-bitmap-write.c -rw-r--r-- 12.3 KB
pack-bitmap.c -rw-r--r-- 25.1 KB
pack-bitmap.h -rw-r--r-- 1.7 KB
pack-check.c -rw-r--r-- 5.0 KB
pack-objects.c -rw-r--r-- 2.1 KB
pack-objects.h -rw-r--r-- 1.9 KB
pack-revindex.c -rw-r--r-- 7.0 KB
pack-revindex.h -rw-r--r-- 410 bytes
pack-write.c -rw-r--r-- 10.3 KB
pack.h -rw-r--r-- 3.2 KB
pager.c -rw-r--r-- 3.4 KB
parse-options-cb.c -rw-r--r-- 2.7 KB
parse-options.c -rw-r--r-- 17.3 KB
parse-options.h -rw-r--r-- 8.9 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 2.4 KB
patch-ids.h -rw-r--r-- 490 bytes
path.c -rw-r--r-- 18.2 KB
pathspec.c -rw-r--r-- 14.1 KB
pathspec.h -rw-r--r-- 3.2 KB
pkt-line.c -rw-r--r-- 4.7 KB
pkt-line.h -rw-r--r-- 3.0 KB
preload-index.c -rw-r--r-- 2.5 KB
pretty.c -rw-r--r-- 42.5 KB
prio-queue.c -rw-r--r-- 1.9 KB
prio-queue.h -rw-r--r-- 1.5 KB
progress.c -rw-r--r-- 6.1 KB
progress.h -rw-r--r-- 504 bytes
prompt.c -rw-r--r-- 1.4 KB
prompt.h -rw-r--r-- 168 bytes
quote.c -rw-r--r-- 9.7 KB
quote.h -rw-r--r-- 2.6 KB
reachable.c -rw-r--r-- 4.7 KB
reachable.h -rw-r--r-- 304 bytes
read-cache.c -rw-r--r-- 61.2 KB
reflog-walk.c -rw-r--r-- 8.1 KB
reflog-walk.h -rw-r--r-- 773 bytes
refs.c -rw-r--r-- 112.6 KB
refs.h -rw-r--r-- 15.1 KB
remote-curl.c -rw-r--r-- 24.7 KB
remote-testsvn.c -rw-r--r-- 8.4 KB
remote.c -rw-r--r-- 56.0 KB
remote.h -rw-r--r-- 7.1 KB
replace_object.c -rw-r--r-- 2.9 KB
rerere.c -rw-r--r-- 17.5 KB
rerere.h -rw-r--r-- 804 bytes
resolve-undo.c -rw-r--r-- 4.3 KB
resolve-undo.h -rw-r--r-- 612 bytes
revision.c -rw-r--r-- 90.2 KB
revision.h -rw-r--r-- 7.7 KB
run-command.c -rw-r--r-- 17.9 KB
run-command.h -rw-r--r-- 3.8 KB
send-pack.c -rw-r--r-- 13.2 KB
send-pack.h -rw-r--r-- 440 bytes
sequencer.c -rw-r--r-- 32.2 KB
sequencer.h -rw-r--r-- 1.1 KB
server-info.c -rw-r--r-- 5.7 KB
setup.c -rw-r--r-- 23.0 KB
sh-i18n--envsubst.c -rw-r--r-- 10.3 KB
sha1-array.c -rw-r--r-- 1.2 KB
sha1-array.h -rw-r--r-- 583 bytes
sha1-lookup.c -rw-r--r-- 9.2 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 86.8 KB
sha1_name.c -rw-r--r-- 35.7 KB
shallow.c -rw-r--r-- 17.7 KB
shell.c -rw-r--r-- 5.1 KB
shortlog.h -rw-r--r-- 463 bytes
show-index.c -rw-r--r-- 2.2 KB
sideband.c -rw-r--r-- 3.4 KB
sideband.h -rw-r--r-- 262 bytes
sigchain.c -rw-r--r-- 969 bytes
sigchain.h -rw-r--r-- 215 bytes
split-index.c -rw-r--r-- 9.2 KB
split-index.h -rw-r--r-- 1.1 KB
strbuf.c -rw-r--r-- 13.3 KB
strbuf.h -rw-r--r-- 17.0 KB
streaming.c -rw-r--r-- 11.8 KB
streaming.h -rw-r--r-- 504 bytes
string-list.c -rw-r--r-- 7.3 KB
string-list.h -rw-r--r-- 5.1 KB
submodule.c -rw-r--r-- 31.7 KB
submodule.h -rw-r--r-- 1.9 KB
symlinks.c -rw-r--r-- 9.3 KB
tag.c -rw-r--r-- 3.2 KB
tag.h -rw-r--r-- 508 bytes
tar.h -rw-r--r-- 644 bytes
test-chmtime.c -rw-r--r-- 2.6 KB
test-config.c -rw-r--r-- 3.8 KB
test-ctype.c -rw-r--r-- 918 bytes
test-date.c -rw-r--r-- 1.5 KB
test-delta.c -rw-r--r-- 1.8 KB
test-dump-cache-tree.c -rw-r--r-- 1.6 KB
test-dump-split-index.c -rw-r--r-- 810 bytes
test-genrandom.c -rw-r--r-- 722 bytes
test-hashmap.c -rw-r--r-- 6.1 KB
test-index-version.c -rw-r--r-- 258 bytes
test-line-buffer.c -rw-r--r-- 2.1 KB
test-match-trees.c -rw-r--r-- 590 bytes
test-mergesort.c -rw-r--r-- 924 bytes
test-mktemp.c -rw-r--r-- 269 bytes
test-parse-options.c -rw-r--r-- 3.4 KB
test-path-utils.c -rw-r--r-- 3.5 KB
test-prio-queue.c -rw-r--r-- 621 bytes
test-read-cache.c -rw-r--r-- 202 bytes
test-regex.c -rw-r--r-- 534 bytes
test-revision-walking.c -rw-r--r-- 1.4 KB
test-run-command.c -rw-r--r-- 827 bytes
test-scrap-cache-tree.c -rw-r--r-- 386 bytes
test-sha1-array.c -rw-r--r-- 936 bytes
test-sha1.c -rw-r--r-- 941 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
test-sigchain.c -rw-r--r-- 344 bytes
test-string-list.c -rw-r--r-- 2.5 KB
test-subprocess.c -rw-r--r-- 393 bytes
test-svn-fe.c -rw-r--r-- 1.3 KB
test-urlmatch-normalization.c -rw-r--r-- 1.2 KB
test-wildmatch.c -rw-r--r-- 635 bytes
thread-utils.c -rw-r--r-- 1.7 KB
thread-utils.h -rw-r--r-- 241 bytes
trace.c -rw-r--r-- 10.2 KB
trace.h -rw-r--r-- 3.5 KB
trailer.c -rw-r--r-- 21.1 KB
trailer.h -rw-r--r-- 148 bytes
transport-helper.c -rw-r--r-- 34.5 KB
transport.c -rw-r--r-- 36.2 KB
transport.h -rw-r--r-- 7.5 KB
tree-diff.c -rw-r--r-- 17.7 KB
tree-walk.c -rw-r--r-- 21.4 KB
tree-walk.h -rw-r--r-- 2.2 KB
tree.c -rw-r--r-- 6.2 KB
tree.h -rw-r--r-- 1.0 KB
unicode_width.h -rw-r--r-- 6.6 KB
unimplemented.sh -rw-r--r-- 100 bytes
unix-socket.c -rw-r--r-- 2.4 KB
unix-socket.h -rw-r--r-- 158 bytes
unpack-trees.c -rw-r--r-- 47.8 KB
unpack-trees.h -rw-r--r-- 2.2 KB
update_unicode.sh -rwxr-xr-x 1.0 KB
upload-pack.c -rw-r--r-- 20.2 KB
url.c -rw-r--r-- 2.8 KB
url.h -rw-r--r-- 492 bytes
urlmatch.c -rw-r--r-- 16.5 KB
urlmatch.h -rw-r--r-- 1.9 KB
usage.c -rw-r--r-- 3.3 KB
userdiff.c -rw-r--r-- 9.1 KB
userdiff.h -rw-r--r-- 646 bytes
utf8.c -rw-r--r-- 15.2 KB
utf8.h -rw-r--r-- 1.9 KB
varint.c -rw-r--r-- 660 bytes
varint.h -rw-r--r-- 168 bytes
version.c -rw-r--r-- 651 bytes
version.h -rw-r--r-- 180 bytes
versioncmp.c -rw-r--r-- 3.4 KB
walker.c -rw-r--r-- 7.3 KB
walker.h -rw-r--r-- 1.1 KB
wildmatch.c -rw-r--r-- 7.8 KB
wildmatch.h -rw-r--r-- 346 bytes
wrap-for-bin.sh -rw-r--r-- 707 bytes
wrapper.c -rw-r--r-- 12.2 KB
write_or_die.c -rw-r--r-- 2.1 KB
ws.c -rw-r--r-- 9.6 KB
wt-status.c -rw-r--r-- 44.1 KB
wt-status.h -rw-r--r-- 2.7 KB
xdiff-interface.c -rw-r--r-- 7.1 KB
xdiff-interface.h -rw-r--r-- 1.1 KB
zlib.c -rw-r--r-- 6.1 KB

README

back to top