From sja@tekla.fi  Wed Jan  7 02:41:03 1998
Received: from marathon.tekla.fi (marathon.tekla.fi [192.98.7.5])
          by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id CAA09834
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 7 Jan 1998 02:41:02 -0800 (PST)
          (envelope-from sja@tekla.fi)
Received: from poveri.tekla.fi (poveri.tekla.fi [192.98.7.19])
	by marathon.tekla.fi (8.8.7/8.8.7) with SMTP id MAA22633
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 7 Jan 1998 12:40:13 +0200
Received: by poveri.tekla.fi; (5.65v3.2/1.1.8.2/20Aug96-0557PM)
	id AA29427; Wed, 7 Jan 1998 12:40:39 +0200
Message-Id: <9801071040.AA29427@poveri.tekla.fi>
Date: Wed, 7 Jan 1998 12:40:39 +0200
From: Sakari Jalovaara <sja@tekla.fi>
To: FreeBSD-gnats-submit@freebsd.org
Subject: A couple of operator precedence bugs
X-Send-Pr-Version: 3.2

>Number:         5450
>Category:       kern
>Synopsis:       A couple of operator precedence bugs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    steve
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan  8 14:32:47 PST 1998
>Closed-Date:    Sun Jan 25 09:26:30 PST 1998
>Last-Modified:  Sun Jan 25 09:27:30 PST 1998
>Originator:     Sakari Jalovaara
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
Ministry of Information, Information Retrieval
>Environment:

>Description:

Three places in the kernel fall for the precedence gotcha between binary
"&" and "==".  They seem like bugs; I don't know what fixing them will
do, though -- something might rely on the bugs.

>How-To-Repeat:

>Fix:

in /usr/src/sys/netinet/udp_usrreq.c
	if ((last->inp_socket->so_options&(SO_REUSEPORT|SO_REUSEADDR) == 0))
should be
	if ((last->inp_socket->so_options&(SO_REUSEPORT|SO_REUSEADDR)) == 0)

in /usr/src/sys/kern/tty_compat.c
	|| cflag&(CSIZE|PARENB) != CS8)
should be
	|| (cflag&(CSIZE|PARENB)) != CS8)

also in /usr/src/sys/kern/tty_compat.c
	if (!(flags&RAW) && !(oflag&OPOST) && cflag&(CSIZE|PARENB) == CS8)
should be
	if (!(flags&RAW) && !(oflag&OPOST) && (cflag&(CSIZE|PARENB)) == CS8)
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: steve 
State-Changed-When: Sun Jan 25 09:26:30 PST 1998 
State-Changed-Why:  
Patch applied to -current to fix precedence bugs.  Thanks! 
>Unformatted:
