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

Reply via email to