8b6a46
diff -up mksh/exec.c.selectopts mksh/exec.c
8b6a46
--- mksh/exec.c.selectopts	2017-09-14 14:15:27.335249169 +0200
8b6a46
+++ mksh/exec.c	2017-09-14 14:16:30.120467641 +0200
8b6a46
@@ -1560,11 +1560,9 @@ do_selectargs(const char **ap, bool prin
8b6a46
 		shellf("%s", str_val(global("PS3")));
8b6a46
 		if (call_builtin(findcom("read", FC_BI), read_args, Tselect))
8b6a46
 			return (NULL);
8b6a46
-		s = str_val(global("REPLY"));
8b6a46
-		if (*s) {
8b6a46
-			getn(s, &i);
8b6a46
-			return ((i >= 1 && i <= argct) ? ap[i - 1] : null);
8b6a46
-		}
8b6a46
+		if (*(s = str_val(global("REPLY"))))
8b6a46
+			return ((getn(s, &i) && i >= 1 && i <= argct) ?
8b6a46
+			    ap[i - 1] : null);
8b6a46
 		print_menu = true;
8b6a46
 	}
8b6a46
 }