aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/crontab.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/miscutils/crontab.c b/miscutils/crontab.c
index c71d914fc..411a18a50 100644
--- a/miscutils/crontab.c
+++ b/miscutils/crontab.c
@@ -165,8 +165,12 @@ int crontab_main(int argc UNUSED_PARAM, char **argv)
165 close(fd); 165 close(fd);
166 xlseek(src_fd, 0, SEEK_SET); 166 xlseek(src_fd, 0, SEEK_SET);
167 } 167 }
168 close_on_exec_on(src_fd); /* don't want editor to see this fd */ 168 close(src_fd);
169 edit_file(pas, tmp_fname); 169 edit_file(pas, tmp_fname);
170 /* The src_fd needs to be reopened to handle editors that do
171 * save the buffer as new file and rename it to tmp_fname (so
172 * for example vim). */
173 src_fd = xopen3(tmp_fname, O_RDONLY, 0600);
170 /* fall through */ 174 /* fall through */
171 175
172 case 0: /* Replace (no -l, -e, or -r were given) */ 176 case 0: /* Replace (no -l, -e, or -r were given) */