Merge pull request #188 from bbannier/topic/bbannier/getcwd-with-NULL-buf

Avoid GNU `getcwd` extension behavior
This commit is contained in:
Steffen Schümann 2025-01-07 21:00:06 +01:00 committed by GitHub
commit 076592ce6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 14 deletions

View File

@ -11,25 +11,24 @@ freebsd_task:
test_script: |
sudo -u testuser .ci/unix-test.sh
centos7_task:
rockylinux8_task:
container:
image: centos:7
image: docker.io/rockylinux:8
install_script: |
yum install -y centos-release-scl
yum install -y devtoolset-9
curl -L https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4-Linux-x86_64.tar.gz | tar xzvf - -C /usr/local --strip-components 1
dnf group install -y "Development Tools"
dnf install cmake -y
build_script: |
source /opt/rh/devtoolset-9/enable && PATH=$PATH:/usr/local/bin .ci/unix-build.sh
.ci/unix-build.sh
test_script: |
PATH=$PATH:/usr/local/bin .ci/unix-test.sh
.ci/unix-test.sh
centos8_task:
rockylinux9_task:
container:
image: quay.io/centos/centos:stream8
image: docker.io/rockylinux:9
install_script: |
yum group install -y "Development Tools"
curl -L https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4-Linux-x86_64.tar.gz | tar xzvf - -C /usr/local --strip-components 1
dnf group install -y "Development Tools"
dnf install cmake -y
build_script: |
PATH=$PATH:/usr/local/bin .ci/unix-build.sh
.ci/unix-build.sh
test_script: |
PATH=$PATH:/usr/local/bin .ci/unix-test.sh
.ci/unix-test.sh

View File

@ -4229,7 +4229,7 @@ GHC_INLINE path current_path(std::error_code& ec)
}
return path(std::wstring(buffer.get()), path::native_format);
#elif defined(__GLIBC__)
std::unique_ptr<char, decltype(&std::free)> buffer { ::getcwd(NULL, 0), std::free };
std::unique_ptr<char, decltype(&std::free)> buffer { ::get_current_dir_name(), std::free };
if (buffer == nullptr) {
ec = detail::make_system_error();
return path();