aboutsummaryrefslogtreecommitdiff
path: root/src/common/tuklib_open_stdxxx.c
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2011-05-28 16:43:26 +0300
committerLasse Collin <lasse.collin@tukaani.org>2011-05-28 18:54:42 +0300
commit631f4d3ae6adfda84d1a110781d9402c12e16cfc (patch)
treef26a4e9aca869e9d25348b8fb8d40dab6ae65fee /src/common/tuklib_open_stdxxx.c
parentTranslations: Update Italian translation. (diff)
downloadxz-631f4d3ae6adfda84d1a110781d9402c12e16cfc.tar.xz
Don't call close(-1) in tuklib_open_stdxxx() on error.
Thanks to Jim Meyering.
Diffstat (limited to 'src/common/tuklib_open_stdxxx.c')
-rw-r--r--src/common/tuklib_open_stdxxx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common/tuklib_open_stdxxx.c b/src/common/tuklib_open_stdxxx.c
index 08bc60d8..26702a6a 100644
--- a/src/common/tuklib_open_stdxxx.c
+++ b/src/common/tuklib_open_stdxxx.c
@@ -39,12 +39,14 @@ tuklib_open_stdxxx(int err_status)
| (i == 0 ? O_WRONLY : O_RDONLY));
if (fd != i) {
+ if (fd != -1)
+ (void)close(fd);
+
// Something went wrong. Exit with the
// exit status we were given. Don't try
// to print an error message, since stderr
// may very well be non-existent. This
// error should be extremely rare.
- (void)close(fd);
exit(err_status);
}
}