Bugfix: off-by-one errors in the rewrite methods and functions.
The terminating null byte for the C string result is written at the index given by std::string.size() for the C++ string. It had been written at one past that index. WS_Release() must then ensure that the terminating null byte is within the allocated portion of workspace.
Showing with 81 additions and 2 deletions