aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2011-10-27 15:56:37 +0200
committerRaimo Niskanen <[email protected]>2011-11-17 15:52:09 +0100
commit0cc982589f69b88fc18deb6ecfa3c7b5e9932e9d (patch)
treee9219bf0963c78c383d3d429e37d9c1b32bb479e
parentd6d9371d50e7e9ad8708e914b72fa755ce5a5385 (diff)
downloadotp-0cc982589f69b88fc18deb6ecfa3c7b5e9932e9d.tar.gz
otp-0cc982589f69b88fc18deb6ecfa3c7b5e9932e9d.tar.bz2
otp-0cc982589f69b88fc18deb6ecfa3c7b5e9932e9d.zip
erts: Possible bugfix for error chunk on old Solaris 10
-rw-r--r--erts/emulator/drivers/common/inet_drv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index d4a5a8ca11..7c9dc9fd3b 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -2736,7 +2736,8 @@ static int sctp_parse_async_event
# ifdef HAVE_STRUCT_SCTP_REMOTE_ERROR_SRE_DATA
chunk = (char*) (&(sptr->sre_data));
# else
- chunk = ((char*)sptr) + sizeof(*sptr);
+ chunk = ((char*) &(sptr->sre_assoc_id))
+ + sizeof(sptr->sre_assoc_id);
# endif
chlen = sptr->sre_length - (chunk - (char *)sptr);
i = sctp_parse_error_chunk(spec, i, chunk, chlen);
@@ -2787,7 +2788,8 @@ static int sctp_parse_async_event
# ifdef HAVE_STRUCT_SCTP_SEND_FAILED_SSF_DATA
chunk = (char*) (&(sptr->ssf_data));
# else
- chunk = ((char*)sptr) + sizeof(*sptr);
+ chunk = ((char*) &(sptr->ssf_assoc_id))
+ + sizeof(sptr->ssf_assoc_id);
# endif
chlen = sptr->ssf_length - (chunk - (char*) sptr);
choff = chunk - bin->orig_bytes;