ptr = getenv("VISUAL");
if (!ptr) {
ptr = getenv("EDITOR");
+@@ -168,7 +168,8 @@
+ }
+ close_on_exec_on(src_fd); /* don't want editor to see this fd */
+ edit_file(pas, tmp_fname);
+- /* fall through */
++ xrename(tmp_fname, pas->pw_name);
++ break;
+
+ case 0: /* Replace (no -l, -e, or -r were given) */
+ new_fname = xasprintf("%s.new", pas->pw_name);