hush: fix a corner case of empty "do \n done" structure

The structure is:

    while cmd; do
    done

bash doesn't accept it at all. We were accepting it but execution
was buggy.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/shell/hush.c b/shell/hush.c
index c3a4afb..c7971b0 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -7498,7 +7498,10 @@
 #endif
 #if ENABLE_HUSH_LOOPS
 		/* Beware of "while false; true; do ..."! */
-		if (pi->next && pi->next->res_word == RES_DO) {
+		if (pi->next
+		 && (pi->next->res_word == RES_DO || pi->next->res_word == RES_DONE)
+		/* (the second check above is needed for "while ...; do \n done" case) */
+		) {
 			if (rword == RES_WHILE) {
 				if (rcode) {
 					/* "while false; do...done" - exitcode 0 */