Does anyone have time to help with an alignment problem in
asterisk that was reported to me? I've been trying to learn
enough C to work it out myself but haven't had luck/time yet
and with 3.9 approaching thought it would be better to ask.

The offending code seems to be line 699 of channels/iax2-parse.c,
parsing incoming iax packets from the network -

int iax_parse_ies(struct iax_ies *ies, unsigned char *data, int datalen)
{
...
case IAX_IE_APPARENT_ADDR:
ies->apparent_addr = ((struct sockaddr_in *)(data + 2));
...

Around this particular code are a bunch of similar lines which
do take care of alignment, but only for ints etc and not for
stuctures, and I wasn't able to work out what would be required.

I haven't been able to trigger the problem on my own sparc64 box
with iax, but it was also reported at
http://bugs.digium.com/bug_view_page.php?bug_id=6354

tia..

Reply via email to