Hm, I never realized but this is wrong; it copies bytes from beyond the end of the string.  It should be e.g.:

```c++
const size_t size = std::min(path.length(), sizeof(s.sun_path) - 1);
memcpy(s.sun_path, *path, size);
```