Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Feb 2011 22:50:42 +0100
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        marcel@FreeBSD.org, ia64@freebsd.org, current@freebsd.org
Subject:   Re: [head tinderbox] failure on ia64/ia64
Message-ID:  <20110201215041.GA4388@stack.nl>
In-Reply-To: <20110201081844.GA1897@garage.freebsd.pl>
References:  <201101312256.p0VMuI6F075840@freebsd-current.sentex.ca> <20110131235153.GC1746@garage.freebsd.pl> <F3F2991E-A783-451C-95B5-3E5BC2E5772B@mac.com> <20110201081844.GA1897@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 01, 2011 at 09:18:44AM +0100, Pawel Jakub Dawidek wrote:
> Still, I'm more concerned with CMSG_NXTHDR() macro, which from what I
> see might not be fixed by casting arguments.

Yes, without various checks it expands to
  (struct cmsghdr *)((char *)(cmsg) + \
  _ALIGN(((struct cmsghdr *)(cmsg))->cmsg_len))

Although there is no alignment problem (assuming cmsg is properly
aligned and _ALIGN is correct), this violates -Wcast-align. Therefore I
think an intermediate cast to void * would be appropriate here.

-- 
Jilles Tjoelker



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