Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2001 11:25:27 +0200
From:      Graham Wheeler <gram@cequrux.com>
To:        David Malone <dwmalone@maths.tcd.ie>, freebsd-hackers@freebsd.org
Subject:   Re: Size of struct ifreq/returned buffer of SIOCGIFCONF
Message-ID:  <3A5C2A87.C7591D2B@cequrux.com>
References:  <3A5AE854.F769B86C@cequrux.com> <20010109142043.B52761@walton.maths.tcd.ie> <3A5B148A.5F139188@cequrux.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Graham Wheeler wrote:
> 
> David Malone wrote:
> >
> > If you read the paragraph below that code, it notes that the ifreq
> > structures are of variable length. The spacing depends on the size
> > of the returned info.
> 
> That's true. In which case the cheops code is wrong, as it iterates
> through the list by incrementing a pointer to a struct ifreq. I'll try
> fix that and get Mark to test under Linux and hopefully get a portable
> solution.

Interestingly enough, a similar bug probably once existed in sysinstall.
In /usr/src/release/sysinstall/devices.c, routine deviceGetAll(), there
is a loop through these structures which also erroneously uses ++ to
increment the struct ifreq* pointer. At the end of the loop, after the
label loopend:, there is a line of code that fixes the pointer, together
with a comment "I'm not sure why this is here - it's inherited".

gr.
-- 
Dr Graham Wheeler                        E-mail: gram@cequrux.com
Director, Research and Development       WWW:    http://www.cequrux.com
CEQURUX Technologies                     Phone:  +27(21)423-6065
Firewalls/VPN Specialists                Fax:    +27(21)424-3656


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




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