From b9c80c8bddbb88384d7baef297a873b5f8715e49 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 28 Feb 2002 00:23:34 +0000 Subject: [PATCH] 1214. [bug] Win32: isc_file_renameunique() could leave zero length files behind. --- CHANGES | 6 ++++++ lib/isc/win32/file.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index c086a54fe2..9595828e74 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +1214. [bug] Win32: isc_file_renameunique() could leave zero length + files behind. + +1213. [func] Report view associated with client if it is not a + standard view (_default or _bind). + 1212. [port] libbind: 64k answer buffers were causing stack space to be exceeded for certian OS. Use heap space instead. diff --git a/lib/isc/win32/file.c b/lib/isc/win32/file.c index 4cdb3a4491..38c9692611 100644 --- a/lib/isc/win32/file.c +++ b/lib/isc/win32/file.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: file.c,v 1.27 2001/10/01 20:58:51 gson Exp $ */ +/* $Id: file.c,v 1.28 2002/02/28 00:23:34 marka Exp $ */ #include @@ -301,6 +301,8 @@ isc_file_renameunique(const char *file, char *templet) { fd = mkstemp(templet); if (fd == -1) result = isc__errno2result(errno); + else + close(fd); if (result == ISC_R_SUCCESS) { res = isc_file_safemovefile(file, templet); @@ -309,8 +311,6 @@ isc_file_renameunique(const char *file, char *templet) { (void)unlink(templet); } } - if (fd != -1) - close(fd); return (result); }