If the `getpath.joinpath()` is called without arguments, it tries to return an empty string and calls `PyUnicode_FromString(NULL)` for this, which causes a crash. The correct way of creating an empty string is `PyUnicode_FromStringAndSize(NULL, 0)`, or `PyUnicode_FromString("")`, or `PyUnicode_FromStringAndSize("", 0)`. Alternatively, the function could raise a TypeError instead of returning an empty string. @zooba @vstinner