Date: 01 Apr 1997 21:52:03 +0200 From: fenyo@email.enst.fr (Alex Fenyo (eowyn)) To: freebsd-current@freebsd.org Subject: Bugs in libc_r Message-ID: <d06g1xah670.fsf@nikopol.enst.fr>
next in thread | raw e-mail | index | archive | help
Hello,
The same bug is repeated 4 times in libc_r. The problem is that
the operator '&' has a lower precedence than '==' in C, and the
author of the code forgot it at 4 places in the source :
in /usr/src/lib/libc_r/uthread/uthread_read.c :
------------------------------------------------------------
if (_thread_fd_table[fd]->flags & O_NONBLOCK == 0 &&
(errno == EWOULDBLOCK || errno == EAGAIN)) {
------------------------------------------------------------
should be replaced by :
------------------------------------------------------------
if ((_thread_fd_table[fd]->flags & O_NONBLOCK) == 0 &&
(errno == EWOULDBLOCK || errno == EAGAIN)) {
------------------------------------------------------------
The same replacement should be done in :
uthread_readv.c, uthread_write.c, uthread_writev.c
Could someone apply the modifications ?
Alexandre Fenyo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d06g1xah670.fsf>
