In the first case, we should have reported the reason fopen() fails. In the second case, fclose() might change errno but we want to report fopen() failure. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- rerere.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rerere.c b/rerere.c index ef9b11578f..f10c3d8ae6 100644 --- a/rerere.c +++ b/rerere.c @@ -487,13 +487,14 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output io.input = fopen(path, "r"); io.io.wrerror = 0; if (!io.input) - return error("Could not open %s", path); + return error_errno("Could not open %s", path); if (output) { io.io.output = fopen(output, "w"); if (!io.io.output) { + error_errno("Could not write %s", output); fclose(io.input); - return error("Could not write %s", output); + return -1; } } -- 2.11.0.157.gd943d85