diff options
author | 2012-04-12 17:42:57 +0000 | |
---|---|---|
committer | 2012-04-12 17:42:57 +0000 | |
commit | c6b9a1b164e0cfa628e0b14ea4209d4a92badb4c (patch) | |
tree | d62e2cdc6498d41e5655ec4c98dae54ce40d1a05 | |
parent | accept pacing ldpd way. Since this daemon has multiple listening fds (diff) | |
download | wireguard-openbsd-c6b9a1b164e0cfa628e0b14ea4209d4a92badb4c.tar.xz wireguard-openbsd-c6b9a1b164e0cfa628e0b14ea4209d4a92badb4c.zip |
In this case where dup2() extends the table using fdalloc, the newly
selected fd is automatically fd_used(). We need to fd_unused() it,
because it will be fd_used() again in finishdup(). spotted by guenther
ok miod
-rw-r--r-- | sys/kern/kern_descrip.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index dca42ddc9d7..e6fd61c4fde 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_descrip.c,v 1.91 2012/04/12 11:07:20 deraadt Exp $ */ +/* $OpenBSD: kern_descrip.c,v 1.92 2012/04/12 17:42:57 deraadt Exp $ */ /* $NetBSD: kern_descrip.c,v 1.42 1996/03/30 22:24:38 christos Exp $ */ /* @@ -279,6 +279,7 @@ restart: } if (new != i) panic("dup2: fdalloc"); + fd_unused(fdp, new); } /* finishdup() does FRELE */ error = finishdup(p, fp, old, new, retval, 1); |