sizeInChars should include NUL-terminator