Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 189526
b: refs/heads/master
c: 6503d96
h: refs/heads/master
v: v3
  • Loading branch information
Changli Gao authored and David S. Miller committed Apr 2, 2010
1 parent 4b9728c commit bd54e2f
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a1d6f3f65512cc90a636e6ec653b7bc9e2238753
refs/heads/master: 6503d96168f891ffa3b70ae6c9698a1a722025a0
3 changes: 2 additions & 1 deletion trunk/net/bluetooth/l2cap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1002,7 +1002,8 @@ static int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr, int al

BT_DBG("sk %p", sk);

if (!addr || addr->sa_family != AF_BLUETOOTH)
if (!addr || alen < sizeof(addr->sa_family) ||
addr->sa_family != AF_BLUETOOTH)
return -EINVAL;

memset(&la, 0, sizeof(la));
Expand Down
3 changes: 2 additions & 1 deletion trunk/net/bluetooth/rfcomm/sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,8 @@ static int rfcomm_sock_connect(struct socket *sock, struct sockaddr *addr, int a

BT_DBG("sk %p", sk);

if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_rc))
if (alen < sizeof(struct sockaddr_rc) ||
addr->sa_family != AF_BLUETOOTH)
return -EINVAL;

lock_sock(sk);
Expand Down
3 changes: 2 additions & 1 deletion trunk/net/bluetooth/sco.c
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,8 @@ static int sco_sock_connect(struct socket *sock, struct sockaddr *addr, int alen

BT_DBG("sk %p", sk);

if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_sco))
if (alen < sizeof(struct sockaddr_sco) ||
addr->sa_family != AF_BLUETOOTH)
return -EINVAL;

if (sk->sk_state != BT_OPEN && sk->sk_state != BT_BOUND)
Expand Down
3 changes: 3 additions & 0 deletions trunk/net/can/bcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1478,6 +1478,9 @@ static int bcm_connect(struct socket *sock, struct sockaddr *uaddr, int len,
struct sock *sk = sock->sk;
struct bcm_sock *bo = bcm_sk(sk);

if (len < sizeof(*addr))
return -EINVAL;

if (bo->bound)
return -EISCONN;

Expand Down
3 changes: 3 additions & 0 deletions trunk/net/ieee802154/af_ieee802154.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@ static int ieee802154_sock_connect(struct socket *sock, struct sockaddr *uaddr,
{
struct sock *sk = sock->sk;

if (addr_len < sizeof(uaddr->sa_family))
return -EINVAL;

if (uaddr->sa_family == AF_UNSPEC)
return sk->sk_prot->disconnect(sk, flags);

Expand Down
5 changes: 5 additions & 0 deletions trunk/net/ipv4/af_inet.c
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,8 @@ int inet_dgram_connect(struct socket *sock, struct sockaddr * uaddr,
{
struct sock *sk = sock->sk;

if (addr_len < sizeof(uaddr->sa_family))
return -EINVAL;
if (uaddr->sa_family == AF_UNSPEC)
return sk->sk_prot->disconnect(sk, flags);

Expand Down Expand Up @@ -573,6 +575,9 @@ int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
int err;
long timeo;

if (addr_len < sizeof(uaddr->sa_family))
return -EINVAL;

lock_sock(sk);

if (uaddr->sa_family == AF_UNSPEC) {
Expand Down
3 changes: 3 additions & 0 deletions trunk/net/netlink/af_netlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,9 @@ static int netlink_connect(struct socket *sock, struct sockaddr *addr,
struct netlink_sock *nlk = nlk_sk(sk);
struct sockaddr_nl *nladdr = (struct sockaddr_nl *)addr;

if (alen < sizeof(addr->sa_family))
return -EINVAL;

if (addr->sa_family == AF_UNSPEC) {
sk->sk_state = NETLINK_UNCONNECTED;
nlk->dst_pid = 0;
Expand Down

0 comments on commit bd54e2f

Please sign in to comment.