Skip site navigation (1)Skip section navigation (2)
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>