I'm sorry for my broken English.
>Unfortunately, there is no upper limit to the number of bytes that can
>be used in the loop. A [] class with a lot of UTF-8 characters might use
>quite a lot of bytes.
>
>The check for overrun is very much a paranoia check - it *should* never
>actually be activated.
Thank for your exposition, and I agreed it.
>[Incidentally, does anybody know why C arranges its stack so that
>overruns hit the return data, rather than putting the return data at the
>bottom? This is something that I've wondered about for years.]
I may misunderstand it...
Maybe it's the reason that caller cannot know the size of the stack
frame to use of calee.
Even if caller was able to put the return data in the bottom, this time,
the return data of caller of caller are destroyed by overrun.