Skip to content

Commit

Permalink
Xvnc: do not use dup2() to create a file descriptor for -inetd option
Browse files Browse the repository at this point in the history
Use dup() instead to get an available file descriptor to avoid hijacking
already existing descriptor.

Fixes #1709
  • Loading branch information
grulja committed Jan 8, 2024
1 parent fc066eb commit 7a9773a
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions unix/xserver/hw/vnc/xvnc.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,8 +366,10 @@ ddxProcessArgument(int argc, char *argv[], int i)
if (strcmp(argv[i], "-inetd") == 0) {
int nullfd;

dup2(0, 3);
vncInetdSock = 3;
if ((vncInetdSock = dup(0)) == -1)
FatalError
("Xvnc error: failed to allocate a new file descriptor for -inetd: %s\n", strerror(errno));


/* Avoid xserver >= 1.19's epoll-fd becoming fd 2 / stderr only to be
replaced by /dev/null by OsInit() because the pollfd is not
Expand Down

0 comments on commit 7a9773a

Please sign in to comment.