evalStringTableConstant: write trailing \0 into correct location

I found a bug in code, but I cannot reproduce it. `evalStringTableConstant` function is called (I checked in debugger), but result seems to be ignored somehow. For instance, I tried this test:

```
println(#(stringTableConstant("abc")^));
```

It outputs `3`, and not junk as I thought.

Any idea how to write a unit test for the issue?