git-commit-vandalism/builtin
Jeff King 28bf9429ef avoid double close of descriptors handed to run_command
When a file descriptor is given to run_command via the
"in", "out", or "err" parameters, run_command takes
ownership. The descriptor will be closed in the parent
process whether the process is spawned successfully or not,
and closing it again is wrong.

In practice this has not caused problems, because we usually
close() right after start_command returns, meaning no other
code has opened a descriptor in the meantime. So we just get
EBADF and ignore it (rather than accidentally closing
somebody else's descriptor!).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-25 15:27:24 -07:00
..
add.c Merge branch 'fr/add-interactive-argv-array' 2014-03-28 13:51:05 -07:00
annotate.c
apply.c Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
branch.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
bundle.c
cat-file.c Merge branch 'jk/warn-on-object-refname-ambiguity' 2014-03-25 11:07:36 -07:00
check-attr.c Merge branch 'jc/check-attr-honor-working-tree' into maint 2014-03-18 14:03:03 -07:00
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
clean.c Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
clone.c commit: fix patch hunk editing with "commit -p -m" 2014-03-18 11:25:12 -07:00
column.c
commit-tree.c commit-tree: add and document --no-gpg-sign 2014-02-24 14:51:35 -08:00
commit.c Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
config.c config: teach "git config --file -" to read from the standard input 2014-02-18 16:12:14 -08:00
count-objects.c
credential.c
describe.c Merge branch 'nd/no-more-fnmatch' 2014-03-14 14:25:31 -07:00
diff-files.c
diff-index.c
diff-tree.c
diff.c Merge branch 'tg/diff-no-index-refactor' 2013-12-27 14:58:17 -08:00
fast-export.c
fetch-pack.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
fetch.c Merge branch 'ep/varscope' 2014-02-27 14:01:30 -08:00
fmt-merge-msg.c
for-each-ref.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
fsck.c Merge branch 'mh/replace-refs-variable-rename' 2014-03-14 14:27:06 -07:00
gc.c Merge branch 'nd/gc-aggressive' 2014-04-03 12:38:47 -07:00
get-tar-commit-id.c
grep.c pathspec: convert some match_pathspec_depth() to dir_path_match() 2014-02-24 14:37:09 -08:00
hash-object.c
help.c builtin/help.c: speed up is_git_command() by checking for builtin commands first 2014-01-06 11:26:31 -08:00
index-pack.c Merge branch 'nd/index-pack-error-message' 2014-03-25 11:08:19 -07:00
init-db.c i18n: only extract comments marked with "TRANSLATORS:" 2014-04-17 11:09:56 -07:00
log.c comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
ls-files.c pathspec: pass directory indicator to match_pathspec_item() 2014-02-24 14:37:19 -08:00
ls-remote.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
ls-tree.c pathspec: rename match_pathspec_depth() to match_pathspec() 2014-02-24 14:37:14 -08:00
mailinfo.c
mailsplit.c
merge-base.c Merge branch 'bm/merge-base-octopus-dedup' into maint 2014-02-13 13:38:59 -08:00
merge-file.c
merge-index.c
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'jc/rev-parse-argh-dashed-multi-words' 2014-04-08 11:59:27 -07:00
mktag.c
mktree.c builtin/mktree.c: use ALLOC_GROW() in append_to_tree() 2014-03-03 14:54:45 -08:00
mv.c Merge branch 'jk/mv-submodules-fix' 2014-03-25 11:02:02 -07:00
name-rev.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
notes.c parse-options: multi-word argh should use dash to separate words 2014-03-24 10:43:34 -07:00
pack-objects.c Merge branch 'jk/pack-bitmap' 2014-04-08 12:00:33 -07:00
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c i18n: mark all progress lines for translation 2014-02-24 09:08:37 -08:00
prune.c Merge branch 'mh/replace-refs-variable-rename' 2014-03-14 14:27:06 -07:00
push.c Merge branch 'cc/starts-n-ends-with-endgame' 2014-03-07 15:18:28 -08:00
read-tree.c
receive-pack.c shallow: automatically clean up shallow tempfiles 2014-02-27 12:07:13 -08:00
reflog.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
remote-ext.c
remote-fd.c
remote.c
repack.c Merge branch 'jk/repack-pack-keep-objects' 2014-03-18 13:50:29 -07:00
replace.c avoid double close of descriptors handed to run_command 2014-06-25 15:27:24 -07:00
rerere.c
reset.c Merge branch 'nd/reset-setup-worktree' 2014-03-14 14:25:03 -07:00
rev-list.c Merge branch 'jk/pack-bitmap' 2014-02-27 14:01:48 -08:00
rev-parse.c rev-parse --parseopt: option argument name hints 2014-03-23 17:28:03 -07:00
revert.c parse-options: multi-word argh should use dash to separate words 2014-03-24 10:43:34 -07:00
rm.c Merge branch 'nd/submodule-pathspec-ending-with-slash' 2014-02-27 14:01:15 -08:00
send-pack.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
shortlog.c
show-branch.c use wildmatch() directly without fnmatch() wrapper 2014-02-20 14:15:46 -08:00
show-ref.c
stripspace.c
symbolic-ref.c
tag.c parse-options: multi-word argh should use dash to separate words 2014-03-24 10:43:34 -07:00
unpack-file.c
unpack-objects.c Merge branch 'mh/replace-refs-variable-rename' 2014-03-14 14:27:06 -07:00
update-index.c update-index: teach --cacheinfo a new syntax "mode,sha1,path" 2014-03-24 10:43:35 -07:00
update-ref.c update-ref: fail create operation over stdin if ref already exists 2014-04-02 10:40:43 -07:00
update-server-info.c
upload-archive.c
var.c
verify-pack.c
verify-tag.c
write-tree.c