diff --git a/shell/ash.c b/shell/ash.c
index 183911c..9d8b83c 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -3469,7 +3469,7 @@
 		close(ofd);
 		if (fd < 0)
 			goto out;
-		fcntl(fd, F_SETFD, FD_CLOEXEC);
+		close_on_exec_on(fd);
 		do { /* while we are in the background */
 			pgrp = tcgetpgrp(fd);
 			if (pgrp < 0) {
@@ -8830,7 +8830,7 @@
 static void
 setinputfd(int fd, int push)
 {
-	fcntl(fd, F_SETFD, FD_CLOEXEC);
+	close_on_exec_on(fd);
 	if (push) {
 		pushfile();
 		parsefile->buf = 0;
diff --git a/shell/hush.c b/shell/hush.c
index 5f9f2c5..9c70556 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -760,9 +760,11 @@
 static int builtin_cd(char **argv)
 {
 	const char *newdir;
-	if (argv[1] == NULL)
+	if (argv[1] == NULL) {
+		// bash does nothing (exitcode 0) if HOME is ""; if it's unset,
+		// bash says "bash: cd: HOME not set" and does nothing (exitcode 1)
 		newdir = getenv("HOME") ? : "/";
-	else
+	} else
 		newdir = argv[1];
 	if (chdir(newdir)) {
 		printf("cd: %s: %s\n", newdir, strerror(errno));
@@ -3629,7 +3631,7 @@
 
 	saved_task_pgrp = shell_pgrp = getpgrp();
 	debug_printf_jobs("saved_task_pgrp=%d\n", saved_task_pgrp);
-	fcntl(interactive_fd, F_SETFD, FD_CLOEXEC);
+	close_on_exec_on(interactive_fd);
 
 	/* If we were ran as 'hush &',
 	 * sleep until we are in the foreground.  */
diff --git a/shell/lash.c b/shell/lash.c
index 5ba490f..af3a8f8 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -576,7 +576,7 @@
 		if (openfd != redir->fd) {
 			if (squirrel && redir->fd < 3) {
 				squirrel[redir->fd] = dup(redir->fd);
-				fcntl(squirrel[redir->fd], F_SETFD, FD_CLOEXEC);
+				close_on_exec_on(squirrel[redir->fd]);
 			}
 			dup2(openfd, redir->fd);
 			close(openfd);
