--- lib/backup-files.c.orig 2007-08-29 09:49:11.825125000 +0200 +++ lib/backup-files.c 2007-08-29 09:50:00.247000000 +0200 @@ -271,6 +271,10 @@ #elif defined(HAVE_CHMOD) (void) chmod(tmpname, st.st_mode); #endif + close(from_fd); + from_fd = -1; + close(to_fd); + to_fd = -1; if (rename(tmpname, filename)) goto fail; @@ -279,8 +283,10 @@ if (error) perror(filename); free(tmpname); - close(from_fd); - close(to_fd); + if (from_fd != -1) + close(from_fd); + if (to_fd != -1) + close(to_fd); return error; } else return 0;