svn commit: r211023 - head/usr.sbin/syslogd
M. Warner Losh
imp at bsdimp.com
Tue Aug 10 18:43:19 UTC 2010
In message: <11606.1281464144 at critter.freebsd.dk>
"Poul-Henning Kamp" <phk at phk.freebsd.dk> writes:
: In message <20100810.115457.1126759349893144516.imp at bsdimp.com>, "M. Warner Los
: h" writes:
: >In message: <20100811.023235.13138059.hrs at allbsd.org>
: > Hiroki Sato <hrs at FreeBSD.org> writes:
: >: Oliver Fromme <olli at fromme.com> wrote
: >: in <201008101623.o7AGNs7I042679 at haluter.fromme.com>:
: >: ol> -static int validate(struct sockaddr *, const char *);
: >: ol> -static void unmapped(struct sockaddr *);
: >: ol> +static int validate(struct sockaddr_storage *, const char *);
: >: ol> +static void unmapped(struct sockaddr_storage *);
: >: Why is s/struct sockaddr */struct sockaddr_storage */ needed here?
: >: Using (struct sockaddr *) as an argument looks reasonable to me since
: >: the struct sockaddr_storage is mostly for memory allocation, not for
: >: access via pointer.
: >Because struct sockaddr * has a too loose alignment requirement for
: >later casting, while sockaddr_storage has the proper alignment.
: This is the kind of detail Bruce, Warner and I know, but I bet it
: was news to most of you.
: Somebody should add it to the relevant manualpages...
It was news to me when I saw it :) But given other posix requirements
for this interface, maybe there's a better fix...
More information about the svn-src-all