https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109580
David Malcolm <dmalcolm at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-04-21 Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED --- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Thanks for filing this bug report. Here's a reduced version of the reproducer (needs -O2 -fanalyzer): #pragma GCC diagnostic ignored "-Wanalyzer-fd-leak" int daemon_type; static int daemon_pipe[2]; void Fdaemon_initialized(void) { _Bool err = 0; if (daemon_type == 2) { int nfd; nfd = emacs_open_noquit("/dev/null", 02, 0); err |= nfd < 0; err |= dup2(nfd, 0) < 0; err |= dup2(nfd, 1) < 0; err |= dup2(nfd, 2) < 0; err |= emacs_close(nfd) != 0; err |= write(daemon_pipe[1], "\n", 1) < 0; err |= emacs_close(daemon_pipe[1]) != 0; } daemon_type = -daemon_type; if (err) error("I/O error during daemon initialization"); } https://godbolt.org/z/o6PxhjEvq