Revision b897bf5f37f81d6a9303c4542422cf33d08b7cf0 authored by Jeff King on 23 June 2020, 15:24:49 UTC, committed by Junio C Hamano on 24 June 2020, 02:56:26 UTC
Our anonymize_mem() function is careful to take a ptr/len pair to allow
storing binary tokens like object ids, as well as partial strings (e.g.,
just "foo" of "foo/bar"). But it duplicates the hash key using
xstrdup()! That means that:

  - for a partial string, we'd store all bytes up to the NUL, even
    though we'd never look at anything past "len". This didn't produce
    wrong behavior, but was wasteful.

  - for a binary oid that doesn't contain a zero byte, we'd copy garbage
    bytes off the end of the array (though as long as nothing complained
    about reading uninitialized bytes, further reads would be limited by
    "len", and we'd produce the correct results)

  - for a binary oid that does contain a zero byte, we'd copy _fewer_
    bytes than intended into the hashmap struct. When we later try to
    look up a value, we'd access uninitialized memory and potentially
    falsely claim that a particular oid is not present.

The most common reason to store an oid is an anonymized gitlink, but our
test case doesn't have any gitlinks at all. So let's add one whose oid
contains a NUL and is present at two different paths. ASan catches the
memory error, but even without it we can detect the bug because the oid
is not anonymized the same way for both paths.

And of course the fix is to copy the correct number of bytes. We don't
technically need the appended NUL from xmemdupz(), but it doesn't hurt
as an extra protection against anybody treating it like a string (plus a
future patch will push us more in that direction).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent b8c0689
History
File Mode Size
.github
Documentation
block-sha1
builtin
ci
compat
contrib
ewah
git-gui
gitk-git
gitweb
mergetools
negotiator
perl
po
ppc
refs
sha1collisiondetection @ 855827c
sha1dc
sha256
t
templates
trace2
vcs-svn
xdiff
.cirrus.yml -rw-r--r-- 312 bytes
.clang-format -rw-r--r-- 5.0 KB
.editorconfig -rw-r--r-- 288 bytes
.gitattributes -rw-r--r-- 544 bytes
.gitignore -rw-r--r-- 3.4 KB
.gitmodules -rw-r--r-- 153 bytes
.mailmap -rw-r--r-- 16.6 KB
.travis.yml -rw-r--r-- 1.0 KB
.tsan-suppressions -rw-r--r-- 689 bytes
CODE_OF_CONDUCT.md -rw-r--r-- 3.9 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 754 bytes
INSTALL -rw-r--r-- 9.8 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 100.6 KB
README.md -rw-r--r-- 3.2 KB
RelNotes l--------- 33 bytes
abspath.c -rw-r--r-- 6.4 KB
aclocal.m4 -rw-r--r-- 1.4 KB
add-interactive.c -rw-r--r-- 30.2 KB
add-interactive.h -rw-r--r-- 965 bytes
add-patch.c -rw-r--r-- 48.6 KB
advice.c -rw-r--r-- 9.6 KB
advice.h -rw-r--r-- 2.9 KB
alias.c -rw-r--r-- 2.1 KB
alias.h -rw-r--r-- 310 bytes
alloc.c -rw-r--r-- 3.2 KB
alloc.h -rw-r--r-- 549 bytes
apply.c -rw-r--r-- 130.5 KB
apply.h -rw-r--r-- 5.3 KB
archive-tar.c -rw-r--r-- 12.7 KB
archive-zip.c -rw-r--r-- 17.4 KB
archive.c -rw-r--r-- 15.4 KB
archive.h -rw-r--r-- 1.5 KB
argv-array.c -rw-r--r-- 2.2 KB
argv-array.h -rw-r--r-- 2.9 KB
attr.c -rw-r--r-- 28.3 KB
attr.h -rw-r--r-- 6.3 KB
banned.h -rw-r--r-- 796 bytes
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 28.5 KB
bisect.h -rw-r--r-- 2.1 KB
blame.c -rw-r--r-- 83.5 KB
blame.h -rw-r--r-- 5.6 KB
blob.c -rw-r--r-- 464 bytes
blob.h -rw-r--r-- 688 bytes
bloom.c -rw-r--r-- 7.5 KB
bloom.h -rw-r--r-- 2.4 KB
branch.c -rw-r--r-- 10.0 KB
branch.h -rw-r--r-- 3.0 KB
bugreport.c -rw-r--r-- 5.2 KB
builtin.h -rw-r--r-- 11.8 KB
bulk-checkin.c -rw-r--r-- 7.3 KB
bulk-checkin.h -rw-r--r-- 323 bytes
bundle.c -rw-r--r-- 12.7 KB
bundle.h -rw-r--r-- 826 bytes
cache-tree.c -rw-r--r-- 20.8 KB
cache-tree.h -rw-r--r-- 2.1 KB
cache.h -rw-r--r-- 67.4 KB
chdir-notify.c -rw-r--r-- 1.8 KB
chdir-notify.h -rw-r--r-- 2.5 KB
check-builtins.sh -rwxr-xr-x 596 bytes
check_bindir -rwxr-xr-x 374 bytes
checkout.c -rw-r--r-- 1.9 KB
checkout.h -rw-r--r-- 369 bytes
color.c -rw-r--r-- 9.6 KB
color.h -rw-r--r-- 4.8 KB
column.c -rw-r--r-- 9.4 KB
column.h -rw-r--r-- 1.4 KB
combine-diff.c -rw-r--r-- 42.2 KB
command-list.txt -rw-r--r-- 11.3 KB
commit-graph.c -rw-r--r-- 60.3 KB
commit-graph.h -rw-r--r-- 4.2 KB
commit-reach.c -rw-r--r-- 19.1 KB
commit-reach.h -rw-r--r-- 3.7 KB
commit-slab-decl.h -rw-r--r-- 1.3 KB
commit-slab-impl.h -rw-r--r-- 2.7 KB
commit-slab.h -rw-r--r-- 2.1 KB
commit.c -rw-r--r-- 40.6 KB
commit.h -rw-r--r-- 12.7 KB
common-main.c -rw-r--r-- 1.3 KB
config.c -rw-r--r-- 81.5 KB
config.h -rw-r--r-- 21.5 KB
config.mak.dev -rw-r--r-- 1.6 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 24.2 KB
configure.ac -rw-r--r-- 38.5 KB
connect.c -rw-r--r-- 32.7 KB
connect.h -rw-r--r-- 1012 bytes
connected.c -rw-r--r-- 4.3 KB
connected.h -rw-r--r-- 1.7 KB
convert.c -rw-r--r-- 49.3 KB
convert.h -rw-r--r-- 5.0 KB
copy.c -rw-r--r-- 1.3 KB
credential-cache--daemon.c -rw-r--r-- 6.9 KB
credential-cache.c -rw-r--r-- 3.2 KB
credential-store.c -rw-r--r-- 5.1 KB
credential.c -rw-r--r-- 12.1 KB
credential.h -rw-r--r-- 6.4 KB
csum-file.c -rw-r--r-- 4.1 KB
csum-file.h -rw-r--r-- 1.5 KB
ctype.c -rw-r--r-- 2.6 KB
daemon.c -rw-r--r-- 34.7 KB
date.c -rw-r--r-- 31.5 KB
decorate.c -rw-r--r-- 1.7 KB
decorate.h -rw-r--r-- 1.4 KB
delta-islands.c -rw-r--r-- 11.7 KB
delta-islands.h -rw-r--r-- 572 bytes
delta.h -rw-r--r-- 3.3 KB
detect-compiler -rwxr-xr-x 1016 bytes
diff-delta.c -rw-r--r-- 15.5 KB
diff-lib.c -rw-r--r-- 15.2 KB
diff-no-index.c -rw-r--r-- 7.2 KB
diff.c -rw-r--r-- 190.2 KB
diff.h -rw-r--r-- 19.4 KB
diffcore-break.c -rw-r--r-- 9.3 KB
diffcore-delta.c -rw-r--r-- 5.5 KB
diffcore-order.c -rw-r--r-- 2.4 KB
diffcore-pickaxe.c -rw-r--r-- 6.6 KB
diffcore-rename.c -rw-r--r-- 19.3 KB
diffcore.h -rw-r--r-- 6.6 KB
dir-iterator.c -rw-r--r-- 5.8 KB
dir-iterator.h -rw-r--r-- 4.3 KB
dir.c -rw-r--r-- 95.4 KB
dir.h -rw-r--r-- 16.4 KB
editor.c -rw-r--r-- 3.0 KB
entry.c -rw-r--r-- 14.1 KB
environment.c -rw-r--r-- 11.0 KB
exec-cmd.c -rw-r--r-- 8.0 KB
exec-cmd.h -rw-r--r-- 483 bytes
fast-import.c -rw-r--r-- 92.4 KB
fetch-negotiator.c -rw-r--r-- 503 bytes
fetch-negotiator.h -rw-r--r-- 1.6 KB
fetch-pack.c -rw-r--r-- 50.8 KB
fetch-pack.h -rw-r--r-- 2.9 KB
fmt-merge-msg.c -rw-r--r-- 16.6 KB
fmt-merge-msg.h -rw-r--r-- 420 bytes
fsck.c -rw-r--r-- 32.9 KB
fsck.h -rw-r--r-- 3.2 KB
fsmonitor.c -rw-r--r-- 10.5 KB
fsmonitor.h -rw-r--r-- 2.4 KB
fuzz-commit-graph.c -rw-r--r-- 422 bytes
fuzz-pack-headers.c -rw-r--r-- 309 bytes
fuzz-pack-idx.c -rw-r--r-- 277 bytes
generate-cmdlist.sh -rwxr-xr-x 1.5 KB
generate-configlist.sh -rwxr-xr-x 370 bytes
gettext.c -rw-r--r-- 5.6 KB
gettext.h -rw-r--r-- 2.2 KB
git-add--interactive.perl -rwxr-xr-x 45.9 KB
git-archimport.perl -rwxr-xr-x 36.1 KB
git-bisect.sh -rwxr-xr-x 8.2 KB
git-compat-util.h -rw-r--r-- 35.6 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.9 KB
git-difftool--helper.sh -rwxr-xr-x 2.2 KB
git-filter-branch.sh -rwxr-xr-x 16.0 KB
git-instaweb.sh -rwxr-xr-x 21.8 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 3.6 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 9.0 KB
git-mergetool.sh -rwxr-xr-x 10.1 KB
git-p4.py -rwxr-xr-x 165.0 KB
git-parse-remote.sh -rw-r--r-- 2.6 KB
git-quiltimport.sh -rwxr-xr-x 3.6 KB
git-rebase--preserve-merges.sh -rw-r--r-- 28.9 KB
git-request-pull.sh -rwxr-xr-x 4.0 KB
git-send-email.perl -rwxr-xr-x 56.8 KB
git-sh-i18n.sh -rw-r--r-- 2.4 KB
git-sh-setup.sh -rw-r--r-- 9.1 KB
git-submodule.sh -rwxr-xr-x 25.1 KB
git-svn.perl -rwxr-xr-x 62.9 KB
git-web--browse.sh -rwxr-xr-x 4.3 KB
git.c -rw-r--r-- 25.9 KB
git.rc -rw-r--r-- 635 bytes
gpg-interface.c -rw-r--r-- 11.5 KB
gpg-interface.h -rw-r--r-- 1.6 KB
graph.c -rw-r--r-- 40.0 KB
graph.h -rw-r--r-- 8.6 KB
grep.c -rw-r--r-- 53.8 KB
grep.h -rw-r--r-- 4.9 KB
hash.h -rw-r--r-- 5.3 KB
hashmap.c -rw-r--r-- 7.7 KB
hashmap.h -rw-r--r-- 17.9 KB
help.c -rw-r--r-- 17.9 KB
help.h -rw-r--r-- 3.1 KB
hex.c -rw-r--r-- 4.2 KB
http-backend.c -rw-r--r-- 18.9 KB
http-fetch.c -rw-r--r-- 1.9 KB
http-push.c -rw-r--r-- 50.1 KB
http-walker.c -rw-r--r-- 15.0 KB
http.c -rw-r--r-- 67.1 KB
http.h -rw-r--r-- 7.3 KB
ident.c -rw-r--r-- 15.5 KB
imap-send.c -rw-r--r-- 36.6 KB
interdiff.c -rw-r--r-- 660 bytes
interdiff.h -rw-r--r-- 119 bytes
iterator.h -rw-r--r-- 2.1 KB
json-writer.c -rw-r--r-- 8.5 KB
json-writer.h -rw-r--r-- 4.2 KB
khash.h -rw-r--r-- 12.9 KB
kwset.c -rw-r--r-- 20.6 KB
kwset.h -rw-r--r-- 2.5 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
line-log.c -rw-r--r-- 33.0 KB
line-log.h -rw-r--r-- 1.7 KB
line-range.c -rw-r--r-- 6.6 KB
line-range.h -rw-r--r-- 1.4 KB
linear-assignment.c -rw-r--r-- 4.1 KB
linear-assignment.h -rw-r--r-- 736 bytes
list-objects-filter-options.c -rw-r--r-- 9.8 KB
list-objects-filter-options.h -rw-r--r-- 3.7 KB
list-objects-filter.c -rw-r--r-- 19.0 KB
list-objects-filter.h -rw-r--r-- 3.2 KB
list-objects.c -rw-r--r-- 11.3 KB
list-objects.h -rw-r--r-- 762 bytes
list.h -rw-r--r-- 5.6 KB
ll-merge.c -rw-r--r-- 10.9 KB
ll-merge.h -rw-r--r-- 3.0 KB
lockfile.c -rw-r--r-- 5.6 KB
lockfile.h -rw-r--r-- 11.3 KB
log-tree.c -rw-r--r-- 27.8 KB
log-tree.h -rw-r--r-- 1.5 KB
ls-refs.c -rw-r--r-- 2.7 KB
ls-refs.h -rw-r--r-- 217 bytes
mailinfo.c -rw-r--r-- 27.8 KB
mailinfo.h -rw-r--r-- 1.0 KB
mailmap.c -rw-r--r-- 8.9 KB
mailmap.h -rw-r--r-- 292 bytes
match-trees.c -rw-r--r-- 8.5 KB
mem-pool.c -rw-r--r-- 3.1 KB
mem-pool.h -rw-r--r-- 1.4 KB
merge-blobs.c -rw-r--r-- 2.0 KB
merge-blobs.h -rw-r--r-- 232 bytes
merge-recursive.c -rw-r--r-- 116.1 KB
merge-recursive.h -rw-r--r-- 3.7 KB
merge.c -rw-r--r-- 2.8 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
midx.c -rw-r--r-- 37.4 KB
midx.h -rw-r--r-- 1.8 KB
name-hash.c -rw-r--r-- 18.8 KB
notes-cache.c -rw-r--r-- 2.3 KB
notes-cache.h -rw-r--r-- 541 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-- 5.0 KB
notes-utils.h -rw-r--r-- 1.5 KB
notes.c -rw-r--r-- 37.3 KB
notes.h -rw-r--r-- 12.6 KB
object-store.h -rw-r--r-- 13.9 KB
object.c -rw-r--r-- 13.6 KB
object.h -rw-r--r-- 6.4 KB
oid-array.c -rw-r--r-- 1.9 KB
oid-array.h -rw-r--r-- 3.6 KB
oidmap.c -rw-r--r-- 1.4 KB
oidmap.h -rw-r--r-- 2.3 KB
oidset.c -rw-r--r-- 1.6 KB
oidset.h -rw-r--r-- 2.6 KB
pack-bitmap-write.c -rw-r--r-- 12.7 KB
pack-bitmap.c -rw-r--r-- 35.5 KB
pack-bitmap.h -rw-r--r-- 2.6 KB
pack-check.c -rw-r--r-- 5.5 KB
pack-objects.c -rw-r--r-- 5.0 KB
pack-objects.h -rw-r--r-- 12.2 KB
pack-revindex.c -rw-r--r-- 5.8 KB
pack-revindex.h -rw-r--r-- 322 bytes
pack-write.c -rw-r--r-- 10.7 KB
pack.h -rw-r--r-- 3.3 KB
packfile.c -rw-r--r-- 54.6 KB
packfile.h -rw-r--r-- 6.7 KB
pager.c -rw-r--r-- 5.1 KB
parse-options-cb.c -rw-r--r-- 6.4 KB
parse-options.c -rw-r--r-- 25.4 KB
parse-options.h -rw-r--r-- 13.0 KB
patch-delta.c -rw-r--r-- 2.4 KB
patch-ids.c -rw-r--r-- 3.4 KB
patch-ids.h -rw-r--r-- 704 bytes
path.c -rw-r--r-- 38.2 KB
path.h -rw-r--r-- 5.9 KB
pathspec.c -rw-r--r-- 18.2 KB
pathspec.h -rw-r--r-- 5.0 KB
pkt-line.c -rw-r--r-- 13.3 KB
pkt-line.h -rw-r--r-- 8.2 KB
preload-index.c -rw-r--r-- 3.8 KB
pretty.c -rw-r--r-- 49.0 KB
pretty.h -rw-r--r-- 3.7 KB
prio-queue.c -rw-r--r-- 2.0 KB
prio-queue.h -rw-r--r-- 1.6 KB
progress.c -rw-r--r-- 9.1 KB
progress.h -rw-r--r-- 768 bytes
promisor-remote.c -rw-r--r-- 5.5 KB
promisor-remote.h -rw-r--r-- 1.1 KB
prompt.c -rw-r--r-- 1.6 KB
prompt.h -rw-r--r-- 223 bytes
protocol.c -rw-r--r-- 2.5 KB
protocol.h -rw-r--r-- 1.1 KB
prune-packed.c -rw-r--r-- 959 bytes
prune-packed.h -rw-r--r-- 152 bytes
quote.c -rw-r--r-- 11.7 KB
quote.h -rw-r--r-- 3.1 KB
range-diff.c -rw-r--r-- 14.6 KB
range-diff.h -rw-r--r-- 486 bytes
reachable.c -rw-r--r-- 5.9 KB
reachable.h -rw-r--r-- 304 bytes
read-cache.c -rw-r--r-- 98.2 KB
rebase-interactive.c -rw-r--r-- 7.8 KB
rebase-interactive.h -rw-r--r-- 651 bytes
rebase.c -rw-r--r-- 1.0 KB
rebase.h -rw-r--r-- 244 bytes
ref-filter.c -rw-r--r-- 68.3 KB
ref-filter.h -rw-r--r-- 4.8 KB
reflog-walk.c -rw-r--r-- 8.2 KB
reflog-walk.h -rw-r--r-- 885 bytes
refs.c -rw-r--r-- 56.9 KB
refs.h -rw-r--r-- 31.4 KB
refspec.c -rw-r--r-- 4.9 KB
refspec.h -rw-r--r-- 2.1 KB
remote-curl.c -rw-r--r-- 38.8 KB
remote-testsvn.c -rw-r--r-- 8.2 KB
remote.c -rw-r--r-- 58.1 KB
remote.h -rw-r--r-- 9.9 KB
replace-object.c -rw-r--r-- 2.2 KB
replace-object.h -rw-r--r-- 1.4 KB
repo-settings.c -rw-r--r-- 2.5 KB
repository.c -rw-r--r-- 6.7 KB
repository.h -rw-r--r-- 5.3 KB
rerere.c -rw-r--r-- 32.2 KB
rerere.h -rw-r--r-- 1.4 KB
reset.c -rw-r--r-- 4.0 KB
reset.h -rw-r--r-- 565 bytes
resolve-undo.c -rw-r--r-- 4.4 KB
resolve-undo.h -rw-r--r-- 581 bytes
revision.c -rw-r--r-- 113.4 KB
revision.h -rw-r--r-- 12.4 KB
run-command.c -rw-r--r-- 41.0 KB
run-command.h -rw-r--r-- 16.5 KB
send-pack.c -rw-r--r-- 15.7 KB
send-pack.h -rw-r--r-- 893 bytes
sequencer.c -rw-r--r-- 149.7 KB
sequencer.h -rw-r--r-- 7.3 KB
serve.c -rw-r--r-- 6.3 KB
serve.h -rw-r--r-- 336 bytes
server-info.c -rw-r--r-- 7.5 KB
setup.c -rw-r--r-- 35.7 KB
sh-i18n--envsubst.c -rw-r--r-- 10.2 KB
sha1-file.c -rw-r--r-- 61.9 KB
sha1-lookup.c -rw-r--r-- 3.2 KB
sha1-lookup.h -rw-r--r-- 1.3 KB
sha1-name.c -rw-r--r-- 47.8 KB
sha1dc_git.c -rw-r--r-- 889 bytes
sha1dc_git.h -rw-r--r-- 618 bytes
shallow.c -rw-r--r-- 21.9 KB
shallow.h -rw-r--r-- 2.6 KB
shell.c -rw-r--r-- 4.5 KB
shortlog.h -rw-r--r-- 508 bytes
sideband.c -rw-r--r-- 5.4 KB
sideband.h -rw-r--r-- 903 bytes
sigchain.c -rw-r--r-- 1.1 KB
sigchain.h -rw-r--r-- 1.7 KB
split-index.c -rw-r--r-- 13.6 KB
split-index.h -rw-r--r-- 1.2 KB
stable-qsort.c -rw-r--r-- 1.2 KB
strbuf.c -rw-r--r-- 25.3 KB
strbuf.h -rw-r--r-- 24.0 KB
streaming.c -rw-r--r-- 12.4 KB
streaming.h -rw-r--r-- 513 bytes
string-list.c -rw-r--r-- 7.6 KB
string-list.h -rw-r--r-- 9.9 KB
sub-process.c -rw-r--r-- 5.5 KB
sub-process.h -rw-r--r-- 3.1 KB
submodule-config.c -rw-r--r-- 21.1 KB
submodule-config.h -rw-r--r-- 3.6 KB
submodule.c -rw-r--r-- 59.5 KB
submodule.h -rw-r--r-- 5.5 KB
symlinks.c -rw-r--r-- 9.3 KB
tag.c -rw-r--r-- 5.5 KB
tag.h -rw-r--r-- 727 bytes
tar.h -rw-r--r-- 693 bytes
tempfile.c -rw-r--r-- 8.3 KB
tempfile.h -rw-r--r-- 9.4 KB
thread-utils.c -rw-r--r-- 2.6 KB
thread-utils.h -rw-r--r-- 1.4 KB
tmp-objdir.c -rw-r--r-- 6.5 KB
tmp-objdir.h -rw-r--r-- 1.5 KB
trace.c -rw-r--r-- 11.9 KB
trace.h -rw-r--r-- 8.3 KB
trace2.c -rw-r--r-- 18.0 KB
trace2.h -rw-r--r-- 18.2 KB
trailer.c -rw-r--r-- 29.5 KB
trailer.h -rw-r--r-- 2.5 KB
transport-helper.c -rw-r--r-- 38.4 KB
transport-internal.h -rw-r--r-- 2.6 KB
transport.c -rw-r--r-- 36.3 KB
transport.h -rw-r--r-- 8.2 KB
tree-diff.c -rw-r--r-- 18.1 KB
tree-walk.c -rw-r--r-- 31.1 KB
tree-walk.h -rw-r--r-- 6.7 KB
tree.c -rw-r--r-- 6.3 KB
tree.h -rw-r--r-- 1.2 KB
unicode-width.h -rw-r--r-- 9.3 KB
unimplemented.sh -rw-r--r-- 101 bytes
unix-socket.c -rw-r--r-- 2.4 KB
unix-socket.h -rw-r--r-- 158 bytes
unpack-trees.c -rw-r--r-- 68.2 KB
unpack-trees.h -rw-r--r-- 3.0 KB
upload-pack.c -rw-r--r-- 40.8 KB
upload-pack.h -rw-r--r-- 499 bytes
url.c -rw-r--r-- 2.5 KB
url.h -rw-r--r-- 697 bytes
urlmatch.c -rw-r--r-- 18.4 KB
urlmatch.h -rw-r--r-- 2.6 KB
usage.c -rw-r--r-- 6.7 KB
userdiff.c -rw-r--r-- 11.4 KB
userdiff.h -rw-r--r-- 892 bytes
utf8.c -rw-r--r-- 19.9 KB
utf8.h -rw-r--r-- 3.6 KB
varint.c -rw-r--r-- 660 bytes
varint.h -rw-r--r-- 154 bytes
version.c -rw-r--r-- 718 bytes
version.h -rw-r--r-- 230 bytes
versioncmp.c -rw-r--r-- 5.2 KB
walker.c -rw-r--r-- 7.6 KB
walker.h -rw-r--r-- 1.1 KB
wildmatch.c -rw-r--r-- 7.8 KB
wildmatch.h -rw-r--r-- 264 bytes
worktree.c -rw-r--r-- 13.8 KB
worktree.h -rw-r--r-- 4.4 KB
wrap-for-bin.sh -rw-r--r-- 946 bytes
wrapper.c -rw-r--r-- 14.2 KB
write-or-die.c -rw-r--r-- 1.5 KB
ws.c -rw-r--r-- 9.4 KB
wt-status.c -rw-r--r-- 68.4 KB
wt-status.h -rw-r--r-- 4.5 KB
xdiff-interface.c -rw-r--r-- 7.5 KB
xdiff-interface.h -rw-r--r-- 2.0 KB
zlib.c -rw-r--r-- 6.1 KB

README.md

back to top