◐ Shell
clean mode source ↗

Message 110212 - Python tracker

OpenBSD has the same getcwd() bug. It was uncovered by raising current_path_length
to 4099 in test_posix.

Here is a new patch that enables the changed posix_getcwd() function
on Solaris and OpenBSD only. I've tested the patch on Linux, OpenSolaris,
OpenBSD and FreeBSD.


So far, there are three categories of behavior if PATH_MAX is exceeded:


1) Solaris, OpenBSD: buggy, getcwd() keeps returning NULL/ERANGE.

2) Linux: getcwd() returns NULL/ENAMETOOLONG.

3) FreeBSD: getcwd() returns SUCCESS/0.


So FreeBSD is one of the systems that benefits from principally
unlimited path lengths (though I doubt it is used much).


I think the changes in the unit test handle all categories well,
and perhaps they will uncover more problem systems.