Applied, thanks! Sergey Bugaev, le dim. 23 avril 2023 19:05:47 +0300, a ecrit: > Signed-off-by: Sergey Bugaev <[email protected]> > --- > sysdeps/mach/hurd/recv.c | 3 ++- > sysdeps/mach/hurd/recvfrom.c | 3 ++- > sysdeps/mach/hurd/recvmsg.c | 3 ++- > sysdeps/mach/hurd/sendmsg.c | 5 +++-- > sysdeps/mach/hurd/sendto.c | 2 +- > 5 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/sysdeps/mach/hurd/recv.c b/sysdeps/mach/hurd/recv.c > index 3bd5c16f..1783e38d 100644 > --- a/sysdeps/mach/hurd/recv.c > +++ b/sysdeps/mach/hurd/recv.c > @@ -54,7 +54,8 @@ __recv (int fd, void *buf, size_t n, int flags) > if (err) > return __hurd_sockfail (fd, flags, err); > > - __mach_port_deallocate (__mach_task_self (), addrport); > + if (MACH_PORT_VALID (addrport)) > + __mach_port_deallocate (__mach_task_self (), addrport); > __vm_deallocate (__mach_task_self (), (vm_address_t) cdata, clen); > > if (bufp != buf) > diff --git a/sysdeps/mach/hurd/recvfrom.c b/sysdeps/mach/hurd/recvfrom.c > index 1cd5f917..6f2c927a 100644 > --- a/sysdeps/mach/hurd/recvfrom.c > +++ b/sysdeps/mach/hurd/recvfrom.c > @@ -94,7 +94,8 @@ __recvfrom (int fd, void *buf, size_t n, int flags, > __SOCKADDR_ARG addrarg, > else if (addr_len != NULL) > *addr_len = 0; > > - __mach_port_deallocate (__mach_task_self (), addrport); > + if (MACH_PORT_VALID (addrport)) > + __mach_port_deallocate (__mach_task_self (), addrport); > > /* Toss control data; we don't care. */ > __vm_deallocate (__mach_task_self (), (vm_address_t) cdata, clen); > diff --git a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c > index 9a37a053..9cf3de48 100644 > --- a/sysdeps/mach/hurd/recvmsg.c > +++ b/sysdeps/mach/hurd/recvmsg.c > @@ -135,7 +135,8 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags) > else if (message->msg_name != NULL) > message->msg_namelen = 0; > > - __mach_port_deallocate (__mach_task_self (), aport); > + if (MACH_PORT_VALID (aport)) > + __mach_port_deallocate (__mach_task_self (), aport); > > if (buf == data) > buf += len; > diff --git a/sysdeps/mach/hurd/sendmsg.c b/sysdeps/mach/hurd/sendmsg.c > index 2f19797b..f9ad7699 100644 > --- a/sysdeps/mach/hurd/sendmsg.c > +++ b/sysdeps/mach/hurd/sendmsg.c > @@ -198,8 +198,9 @@ __libc_sendmsg (int fd, const struct msghdr *message, int > flags) > message->msg_controllen, > &amount); > LIBC_CANCEL_RESET (cancel_oldtype); > - __mach_port_deallocate (__mach_task_self (), > - aport); > + if (MACH_PORT_VALID (aport)) > + __mach_port_deallocate (__mach_task_self (), > + aport); > } > err; > })); > diff --git a/sysdeps/mach/hurd/sendto.c b/sysdeps/mach/hurd/sendto.c > index 5a960de8..777af1c4 100644 > --- a/sysdeps/mach/hurd/sendto.c > +++ b/sysdeps/mach/hurd/sendto.c > @@ -94,7 +94,7 @@ __sendto (int fd, > err; > })); > > - if (aport != MACH_PORT_NULL) > + if (MACH_PORT_VALID (aport)) > __mach_port_deallocate (__mach_task_self (), aport); > > return err ? __hurd_sockfail (fd, flags, err) : wrote; > -- > 2.40.0 >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.
