The case arm state was erroneously set up to return when an outer context would,
but the intermediate state, the case state, of course continues until "esac".
The bug was in the control structure parsing code that was new in version 4.0.0.
The hang was detected by afl. An exhaustive search did not find more.