From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH 00/15] Handle fopen() errors
Date: Thu, 20 Apr 2017 18:25:54 +0700 [thread overview]
Message-ID: <20170420112609.26089-1-pclouds@gmail.com> (raw)
Some of you may recall a while back, nd/conditional-config-include
failed on Windows because I accidentally fopen()'d a directory in a
test, but it's not considered an serious error unless it's on Windows,
where fopen(<dir>) returns NULL.
A couple of suggestions were thrown back and forth, but I was a bit
busy to follow up. Now that I have time, I have audited all fopen()
calls and try to fix them up for good. There 15 patches, but they only
change one or two lines each. I split them anyway so you can pause
between patches and see if it really makes sense, as changes are all
over the places.
There are still a few iffy fopen() calls in sequencer.c though. I only
fixed the easy ones in there.
The last patch may fail on some platforms since I want to make sure
that fopen(<directory>) == NULL is an expected behavior, even though I
could only test FreeBSD and Linux (and know Windows behaves the same).
At least when people shout up, we could start adding
FREAD_READS_DIRECTORIES on those platforms. That's the goal.
Nguyễn Thái Ngọc Duy (15):
config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
bisect: report on fopen() error
blame: report error on open if graft_file is a directory
clone: use xfopen() instead of fopen()
log: report errno on failure to fopen() a file
commit.c: report error on failure to fopen() the graft file
remote.c: report error on failure to fopen()
rerere.c: report error on failure to fopen()
rerere.c: report correct errno
sequencer.c: report error on failure to fopen()
server-info: report error on failure to fopen()
wt-status.c: report error on failure to fopen()
xdiff-interface.c: report errno on failure to stat() or fopen()
config.c: handle error on failing to fopen()
t1308: add a test case on open a config directory
bisect.c | 5 ++++-
builtin/blame.c | 5 ++++-
builtin/clone.c | 2 +-
builtin/log.c | 3 ++-
commit.c | 5 ++++-
config.c | 8 +++++++-
config.mak.uname | 3 +++
remote.c | 12 ++++++++++--
rerere.c | 10 +++++++---
sequencer.c | 5 ++++-
server-info.c | 5 ++++-
t/t1308-config-set.sh | 13 ++++++++++++-
wt-status.c | 2 ++
xdiff-interface.c | 4 ++--
14 files changed, 66 insertions(+), 16 deletions(-)
--
2.11.0.157.gd943d85
next reply other threads:[~2017-04-20 11:26 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-20 11:25 Nguyễn Thái Ngọc Duy [this message]
2017-04-20 11:25 ` [PATCH 01/15] config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD Nguyễn Thái Ngọc Duy
2017-04-20 11:25 ` [PATCH 02/15] bisect: report on fopen() error Nguyễn Thái Ngọc Duy
2017-04-20 11:25 ` [PATCH 03/15] blame: report error on open if graft_file is a directory Nguyễn Thái Ngọc Duy
2017-04-20 11:25 ` [PATCH 04/15] clone: use xfopen() instead of fopen() Nguyễn Thái Ngọc Duy
2017-04-20 11:25 ` [PATCH 05/15] log: report errno on failure to fopen() a file Nguyễn Thái Ngọc Duy
2017-04-21 6:33 ` Jeff King
2017-04-20 11:26 ` [PATCH 06/15] commit.c: report error on failure to fopen() the graft file Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 07/15] remote.c: report error on failure to fopen() Nguyễn Thái Ngọc Duy
2017-04-26 16:59 ` Johannes Sixt
2017-04-27 0:57 ` Junio C Hamano
2017-04-27 5:07 ` Johannes Sixt
2017-04-27 9:14 ` Duy Nguyen
2017-04-27 17:49 ` Johannes Sixt
2017-04-20 11:26 ` [PATCH 08/15] rerere.c: " Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 09/15] rerere.c: report correct errno Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 10/15] sequencer.c: report error on failure to fopen() Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 11/15] server-info: " Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 12/15] wt-status.c: " Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 13/15] xdiff-interface.c: report errno on failure to stat() or fopen() Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 14/15] config.c: handle error on failing to fopen() Nguyễn Thái Ngọc Duy
2017-04-20 11:26 ` [PATCH 15/15] t1308: add a test case on open a config directory Nguyễn Thái Ngọc Duy
2017-04-21 1:47 ` [PATCH 00/15] Handle fopen() errors Junio C Hamano
2017-04-21 3:41 ` Junio C Hamano
2017-04-21 6:29 ` Jeff King
2017-04-21 11:04 ` Duy Nguyen
2017-04-21 11:52 ` Junio C Hamano
2017-04-21 12:27 ` Duy Nguyen
2017-04-21 17:07 ` Jeff King
2017-04-24 0:45 ` Junio C Hamano
2017-05-03 10:16 ` [PATCH v2 00/21] Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 01/21] Use xfopen() in more places Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 02/21] clone: use xfopen() instead of fopen() Nguyễn Thái Ngọc Duy
2017-05-03 15:02 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 03/21] config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 04/21] wrapper.c: add warn_on_fopen_errors() Nguyễn Thái Ngọc Duy
2017-05-03 15:07 ` Johannes Schindelin
2017-05-04 5:35 ` Junio C Hamano
2017-05-03 10:16 ` [PATCH v2 05/21] wrapper.c: add fopen_or_warn() Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 06/21] attr.c: use fopen_or_warn() Nguyễn Thái Ngọc Duy
2017-05-03 15:09 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 07/21] ident.c: " Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 08/21] bisect: report on fopen() error Nguyễn Thái Ngọc Duy
2017-05-03 15:12 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 09/21] blame: report error on open if graft_file is a directory Nguyễn Thái Ngọc Duy
2017-05-03 15:15 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 10/21] log: report errno on failure to fopen() a file Nguyễn Thái Ngọc Duy
2017-05-03 15:19 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 11/21] log: fix memory leak in open_next_file() Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 12/21] commit.c: report error on failure to fopen() the graft file Nguyễn Thái Ngọc Duy
2017-05-03 10:16 ` [PATCH v2 13/21] remote.c: report error on failure to fopen() Nguyễn Thái Ngọc Duy
2017-05-03 15:22 ` Johannes Schindelin
2017-05-09 10:16 ` Duy Nguyen
2017-05-09 12:56 ` Johannes Schindelin
2017-05-03 10:16 ` [PATCH v2 14/21] rerere.c: " Nguyễn Thái Ngọc Duy
2017-05-03 10:17 ` [PATCH v2 15/21] rerere.c: report correct errno Nguyễn Thái Ngọc Duy
2017-05-03 15:24 ` Johannes Schindelin
2017-05-03 10:17 ` [PATCH v2 16/21] sequencer.c: report error on failure to fopen() Nguyễn Thái Ngọc Duy
2017-05-03 10:17 ` [PATCH v2 17/21] server-info: " Nguyễn Thái Ngọc Duy
2017-05-03 10:17 ` [PATCH v2 18/21] wt-status.c: " Nguyễn Thái Ngọc Duy
2017-05-03 10:17 ` [PATCH v2 19/21] xdiff-interface.c: report errno on failure to stat() or fopen() Nguyễn Thái Ngọc Duy
2017-05-03 10:17 ` [PATCH v2 20/21] config.c: handle error on failing to fopen() Nguyễn Thái Ngọc Duy
2017-05-03 15:29 ` Johannes Schindelin
2017-05-03 10:17 ` [PATCH v2 21/21] t1308: add a test case on open a config directory Nguyễn Thái Ngọc Duy
2017-05-03 15:33 ` Johannes Schindelin
2017-05-04 5:45 ` [PATCH v2 00/21] Junio C Hamano
2017-05-07 4:20 ` Junio C Hamano
2017-05-09 10:22 ` Duy Nguyen
2017-05-09 22:52 ` Junio C Hamano
2017-05-10 5:12 ` [PATCH] config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170420112609.26089-1-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.