aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2011-08-08 15:41:17 +0200
committerHenrik Nord <[email protected]>2011-08-08 15:41:17 +0200
commitb2e16f2a2c1f139c96f928ca644a753c7c3a28b7 (patch)
treeba712e330cef21dfa8a58d7effa4528e42f6ffb3 /erts
parent2f73f5ca35f600675ea9e46148bb8e9ddcdb4f7b (diff)
parentb74afd6bcf54d3bc6a51da30a7551b3b2a0f402b (diff)
downloadotp-b2e16f2a2c1f139c96f928ca644a753c7c3a28b7.tar.gz
otp-b2e16f2a2c1f139c96f928ca644a753c7c3a28b7.tar.bz2
otp-b2e16f2a2c1f139c96f928ca644a753c7c3a28b7.zip
Merge branch 'dev' into major
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/drivers/common/inet_drv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index 40c4a0df08..ebc4469a23 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -3709,6 +3709,8 @@ static int inet_ctl_fdopen(inet_descriptor* desc, int domain, int type,
/* check that it is a socket and that the socket is bound */
if (IS_SOCKET_ERROR(sock_name(s, (struct sockaddr*) &name, &sz)))
return ctl_error(sock_errno(), rbuf, rsize);
+ if (name.sa.sa_family != domain)
+ return ctl_error(EINVAL, rbuf, rsize);
desc->s = s;
if ((desc->event = sock_create_event(desc)) == INVALID_EVENT)
return ctl_error(sock_errno(), rbuf, rsize);
@@ -9739,7 +9741,7 @@ static int packet_inet_ctl(ErlDrvData e, unsigned int cmd, char* buf, int len,
if (desc->active || (len != 8))
return ctl_error(EINVAL, rbuf, rsize);
timeout = get_int32(buf);
- /* The 2nd arg, Length(4), is ignored for both UDP ans SCTP protocols,
+ /* The 2nd arg, Length(4), is ignored for both UDP and SCTP protocols,
since they are msg-oriented. */
if (enq_async(desc, tbuf, PACKET_REQ_RECV) < 0)