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
If the
getpath.joinpath()is called without arguments, it tries to return an empty string and callsPyUnicode_FromString(NULL)for this, which causes a crash. The correct way of creating an empty string isPyUnicode_FromStringAndSize(NULL, 0), orPyUnicode_FromString(""), orPyUnicode_FromStringAndSize("", 0).Alternatively, the function could raise a TypeError instead of returning an empty string.
@zooba @vstinner