diff --git a/[refs] b/[refs] index 7add30db1642..e879c1d667a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b35805693e1915829355723537f99f1b8bc9cc0 +refs/heads/master: fe979ac169970b3d12facd6565766735862395c5 diff --git a/trunk/net/sctp/socket.c b/trunk/net/sctp/socket.c index a5b6e559451e..45510c46c223 100644 --- a/trunk/net/sctp/socket.c +++ b/trunk/net/sctp/socket.c @@ -4352,11 +4352,12 @@ static int sctp_getsockopt_local_addrs(struct sock *sk, int len, err = -EFAULT; goto error; } - if (put_user(cnt, &((struct sctp_getaddrs __user *)optval)->addr_num)) - return -EFAULT; + if (put_user(cnt, &((struct sctp_getaddrs __user *)optval)->addr_num)) { + err = -EFAULT; + goto error; + } if (put_user(bytes_copied, optlen)) - return -EFAULT; - + err = -EFAULT; error: kfree(addrs); return err;