Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Aug 2002 09:54:52 +0100
From:      David Malone <dwmalone@maths.tcd.ie>
To:        Yuri Victorovich <yuri@tsoft.com>
Cc:        "current@FreeBSD.ORG" <current@FreeBSD.ORG>
Subject:   Re: libwrap bug?
Message-ID:  <20020818085452.GA80443@walton.maths.tcd.ie>
In-Reply-To: <3D5F28BF.EE86E5AB@tsoft.com>
References:  <3D5F28BF.EE86E5AB@tsoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Aug 18, 2002 at 12:55:27AM -0400, Yuri Victorovich wrote:
> Is it a bug that function "sock_host" is declared
> sock_host() in /usr/include/tcpd.h
> but defined as sock_host(struct request_info *)
> in /usr/src/contrib/tcp_wrappers/socket.c ?

A fucntion which is declared with no arguments (eg sock_host())
is assumed to be a function defined in the K&R way. Argument number
and types don't need to be known. To decalre a function which takes
no arguments (and which has an ANSI style definition) you say
"function(void)".  So this prototype is correct because the definition
in socket.c is a K&R definition.

Bruce tells me that gcc has some magic which allows K&R function
definitions to work OK with ANSI prototypes, as long as the prototype
is visable both where the function is defined and where then function
is used. Otherwise, mixing K&R and ANSI can have unexpected side
effects.

> MySQL on Alpha gives "unaligned access..."
> error because they use it w/out an argument and
> actual libwrap expects an argument.

The bug would seem to be calling sock_host without an argument.
I've been considering adding ANSI prototypes to tcpd.h, so we
get more useful warnings from it.

	David.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020818085452.GA80443>