> I guess when using setjmp/longjmp for exceptions the requirements > increase above and beyond what is normally sufficient, and that's why > you have to update the buffer?
Absolutely, you needed to update the buffer in the EH case, e.g. in Ada. VLAs aren't first-class citizens so this wasn't really visible in C++, but the issue was present too. -- Eric Botcazou