[clang] Fixed issue #128882: don't warn if 1st argument to 'getcwd' is NULL (PR #135720)

Sean McBride via cfe-commits cfe-commits at lists.llvm.org
Wed May 7 05:17:39 PDT 2025


================
@@ -105,9 +105,6 @@ void errno_getcwd(char *Buf, size_t Sz) {
     clang_analyzer_eval(errno != 0);   // expected-warning{{TRUE}}
     clang_analyzer_eval(Path == NULL); // expected-warning{{TRUE}}
     if (errno) {}                      // no warning
-  } else if (Path == NULL) {
-    clang_analyzer_eval(errno != 0);   // expected-warning{{TRUE}}
-    if (errno) {}                      // no warning
----------------
seanm wrote:

It's not just macOS.

linux's glibc's ["allocates the buffer dynamically using malloc if buf is NULL."](https://www.man7.org/linux/man-pages/man3/getcwd.3.html)

And FreeBSD: [If buf is NULL, space is allocated as necessary to store the pathname. This space may later be free'd.](https://man.freebsd.org/cgi/man.cgi?query=getcwd&apropos=0&sektion=0&manpath=FreeBSD+14.2-RELEASE+and+Ports&arch=default&format=html)

https://github.com/llvm/llvm-project/pull/135720


More information about the cfe-commits mailing list