git/builtin
Jeff King 8a1a8d2ad1 worktree: check the result of read_in_full()
We try to read "len" bytes into a buffer and just assume
that it happened correctly. In practice this should usually
be the case, since we just stat'd the file to get the
length.  But we could be fooled by transient errors or by
other processes racily truncating the file.

Let's be more careful. There's a slim chance this could
catch a real error, but it also prevents people and tools
from getting worried while reading the code.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-09-27 15:46:05 +09:00
..
add.c Merge branch 'rj/add-chmod-error-message' into maint 2017-09-10 17:03:00 +09:00
am.c Merge branch 'pw/am-signoff' into maint 2017-09-10 17:02:51 +09:00
annotate.c
apply.c Convert read_mmblob to take struct object_id. 2016-09-07 12:59:42 -07:00
archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
bisect--helper.c
blame.c Merge branch 'po/read-graft-line' 2017-09-06 13:11:25 +09:00
branch.c builtin/branch: stop supporting the "--set-upstream" option 2017-08-17 13:33:20 -07:00
bundle.c bundle: use prefix_filename with bundle path 2017-03-21 11:18:41 -07:00
cat-file.c pack: move for_each_packed_object() 2017-08-23 15:12:07 -07:00
check-attr.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
check-ignore.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
check-mailmap.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
check-ref-format.c check-ref-format: release strbuf after use in check_ref_format_branch() 2017-09-07 08:49:26 +09:00
checkout-index.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
checkout.c Merge branch 'bw/submodule-config-cleanup' 2017-08-26 22:55:08 -07:00
clean.c clean: release strbuf after use in remove_dirs() 2017-09-07 08:49:27 +09:00
clone.c Merge branch 'bw/clone-recursive-quiet' into maint 2017-09-10 17:02:49 +09:00
column.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
commit-tree.c Merge branch 'rk/commit-tree-make-F-verbatim' 2017-09-19 10:47:57 +09:00
commit.c add UNLEAK annotation for reducing leak false positives 2017-09-08 15:43:17 +09:00
config.c add UNLEAK annotation for reducing leak false positives 2017-09-08 15:43:17 +09:00
count-objects.c pack: move open_pack_index(), parse_pack_index() 2017-08-23 15:12:06 -07:00
credential.c credential: handle invalid arguments earlier 2017-05-30 14:45:03 +09:00
describe.c hashmap: add API to disable item counting when threaded 2017-09-07 09:42:02 +09:00
diff-files.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
diff-index.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
diff-tree.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
diff.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
difftool.c sha1_file: convert index_fd to struct object_id 2017-08-20 21:52:08 -07:00
fast-export.c hashmap.h: compare function has access to a data field 2017-06-30 12:49:28 -07:00
fetch-pack.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
fetch.c Merge branch 'jt/packmigrate' 2017-08-26 22:55:09 -07:00
fmt-merge-msg.c Merge branch 'dc/fmt-merge-msg-microcleanup' into maint 2017-08-23 14:33:52 -07:00
for-each-ref.c for-each-ref: load config earlier 2017-07-13 12:42:51 -07:00
fsck.c Merge branch 'rs/fsck-obj-leakfix' into maint 2017-09-10 17:02:53 +09:00
gc.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
get-tar-commit-id.c distinguish error versus short read from read_in_full() 2017-09-27 15:45:24 +09:00
grep.c Merge branch 'bw/submodule-config-cleanup' 2017-08-26 22:55:08 -07:00
hash-object.c sha1_file: convert hash_sha1_file_literally to struct object_id 2017-08-20 21:52:53 -07:00
help.c help: release strbuf on error return in exec_woman_emacs() 2017-09-07 08:49:27 +09:00
index-pack.c pack: move pack name-related functions 2017-08-23 15:12:06 -07:00
init-db.c add UNLEAK annotation for reducing leak false positives 2017-09-08 15:43:17 +09:00
interpret-trailers.c Merge branch 'jk/trailers-parse' 2017-08-26 22:55:04 -07:00
log.c Merge branch 'jc/simplify-progress' 2017-08-24 10:20:02 -07:00
ls-files.c add UNLEAK annotation for reducing leak false positives 2017-09-08 15:43:17 +09:00
ls-remote.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
ls-tree.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
mailinfo.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
mailsplit.c mailinfo & mailsplit: check for EOF while parsing 2017-05-08 12:18:19 +09:00
merge-base.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
merge-file.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
merge-index.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
merge-ours.c
merge-recursive.c i18n: merge-recursive: mark verbose message for translation 2016-09-15 13:17:32 -07:00
merge-tree.c tree-walk: convert fill_tree_descriptor() to object_id 2017-08-14 12:38:54 -07:00
merge.c Merge branch 'rs/strbuf-leakfix' 2017-09-19 10:47:57 +09:00
mktag.c
mktree.c mktree: plug memory leaks reported by Coverity 2017-05-08 12:18:19 +09:00
mv.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
name-rev.c Merge branch 'mg/timestamp-t-fix' 2017-09-19 10:47:52 +09:00
notes.c notes: release strbuf after use in notes_copy_from_stdin() 2017-09-07 08:49:28 +09:00
pack-objects.c Merge branch 'ma/ts-cleanups' 2017-09-10 17:08:22 +09:00
pack-redundant.c pack: move pack name-related functions 2017-08-23 15:12:06 -07:00
pack-refs.c refs: delete pack_refs() in favor of refs_pack_refs() 2017-04-14 03:53:25 -07:00
patch-id.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
prune-packed.c Merge branch 'jt/packmigrate' 2017-08-26 22:55:09 -07:00
prune.c progress: simplify "delayed" progress API 2017-08-19 14:01:34 -07:00
pull.c pull: honor submodule.recurse config option 2017-09-07 09:52:18 +09:00
push.c Merge branch 'ma/parse-maybe-bool' 2017-08-22 10:29:03 -07:00
read-tree.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
rebase--helper.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
receive-pack.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
reflog.c Merge branch 'ab/wildmatch' 2017-07-10 13:42:51 -07:00
remote-ext.c remote-{ext,fd}: print usage message on invalid arguments 2017-05-30 14:45:04 +09:00
remote-fd.c remote-{ext,fd}: print usage message on invalid arguments 2017-05-30 14:45:04 +09:00
remote.c remote: release strbuf after use in set_url() 2017-09-07 08:49:28 +09:00
repack.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
replace.c sha1_file: convert index_fd to struct object_id 2017-08-20 21:52:08 -07:00
rerere.c avoid "write_in_full(fd, buf, len) != len" pattern 2017-09-14 15:17:59 +09:00
reset.c Merge branch 'jk/leak-checkers' 2017-09-19 10:47:55 +09:00
rev-list.c Merge branch 'jk/rev-list-empty-input' into maint 2017-09-10 17:02:48 +09:00
rev-parse.c Merge branch 'mh/packed-ref-store-prep' 2017-09-19 10:47:55 +09:00
revert.c cherry-pick/revert: reject --rerere-autoupdate when continuing 2017-08-02 15:16:09 -07:00
rm.c submodule: remove gitmodules_config 2017-08-03 13:11:02 -07:00
send-pack.c Merge branch 'ma/parse-maybe-bool' 2017-08-22 10:29:03 -07:00
shortlog.c shortlog: skip format/parse roundtrip for internal traversal 2017-09-09 01:57:03 +09:00
show-branch.c Merge branch 'jk/ref-filter-colors' 2017-08-11 13:26:58 -07:00
show-ref.c show-ref: remove a stale comment 2017-01-23 18:51:56 -08:00
stripspace.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
submodule--helper.c Merge branch 'bw/push-options-recursively-to-submodules' into maint 2017-09-10 17:02:49 +09:00
symbolic-ref.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
tag.c Merge branch 'ma/pager-per-subcommand-action' into maint 2017-09-10 17:02:48 +09:00
unpack-file.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
unpack-objects.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
update-index.c Merge branch 'jk/leak-checkers' 2017-09-19 10:47:55 +09:00
update-ref.c builtin/update_ref: convert to struct object_id 2017-07-17 13:54:38 -07:00
update-server-info.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
upload-archive.c upload-archive: handle "-h" option early 2017-05-30 14:45:04 +09:00
var.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
verify-commit.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
verify-pack.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
verify-tag.c Merge branch 'jk/ref-filter-colors' 2017-08-11 13:26:58 -07:00
worktree.c worktree: check the result of read_in_full() 2017-09-27 15:46:05 +09:00
write-tree.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00