Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Aug 2002 10:12:52 -0400
From:      Yuri Victorovich <yuri@tsoft.com>
To:        David Malone <dwmalone@maths.tcd.ie>, current@FreeBSD.ORG
Subject:   Re: libwrap bug?
Message-ID:  <3D5FAB64.AFF2CAA9@tsoft.com>
References:  <3D5F28BF.EE86E5AB@tsoft.com> <20020818085452.GA80443@walton.maths.tcd.ie>

next in thread | previous in thread | raw e-mail | index | archive | help
David,

> 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.

Such K&R way to declare functions sounds like an open invitation for
bugs.

> > 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.

C++ complains if function was declared K&R style and used correctly.
So I had to change those declarations in tcpd.h to compile correctly.

> I've been considering adding ANSI prototypes to tcpd.h, so we
> get more useful warnings from it.

Yes, please add them! Right now MySQL calls functions the wrong
way but due to the specifics of i386 assembly they get away with this.
Since compiler pushes this argument to stack before calling
them for some function following later on. So they use it as if it
was theirs )) And Alpha code is built differently so this bug comes up.

Regards,
Yuri.



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?3D5FAB64.AFF2CAA9>