diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-28 17:00:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-28 17:00:27 -0400 |
commit | c203b33d2ee34594f6656c033cddd4f5860eb06c (patch) | |
tree | b59fec34142a6d99df85a0d3576bdf7249308e07 | |
parent | a26b5fce06b92b2f02967d4c845fa628024e5414 (diff) | |
parent | 39ebc0276bada8bb70e067cb6d0eb71839c0fb08 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[DCCP] getsockopt: Fix DCCP_SOCKOPT_[SEND,RECV]_CSCOV
-rw-r--r-- | net/dccp/proto.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/dccp/proto.c b/net/dccp/proto.c index cf28c53a389a..6607b7b14f34 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c | |||
@@ -575,7 +575,7 @@ static int do_dccp_getsockopt(struct sock *sk, int level, int optname, | |||
575 | if (get_user(len, optlen)) | 575 | if (get_user(len, optlen)) |
576 | return -EFAULT; | 576 | return -EFAULT; |
577 | 577 | ||
578 | if (len < sizeof(int)) | 578 | if (len < (int)sizeof(int)) |
579 | return -EINVAL; | 579 | return -EINVAL; |
580 | 580 | ||
581 | dp = dccp_sk(sk); | 581 | dp = dccp_sk(sk); |
@@ -589,9 +589,11 @@ static int do_dccp_getsockopt(struct sock *sk, int level, int optname, | |||
589 | (__be32 __user *)optval, optlen); | 589 | (__be32 __user *)optval, optlen); |
590 | case DCCP_SOCKOPT_SEND_CSCOV: | 590 | case DCCP_SOCKOPT_SEND_CSCOV: |
591 | val = dp->dccps_pcslen; | 591 | val = dp->dccps_pcslen; |
592 | len = sizeof(val); | ||
592 | break; | 593 | break; |
593 | case DCCP_SOCKOPT_RECV_CSCOV: | 594 | case DCCP_SOCKOPT_RECV_CSCOV: |
594 | val = dp->dccps_pcrlen; | 595 | val = dp->dccps_pcrlen; |
596 | len = sizeof(val); | ||
595 | break; | 597 | break; |
596 | case 128 ... 191: | 598 | case 128 ... 191: |
597 | return ccid_hc_rx_getsockopt(dp->dccps_hc_rx_ccid, sk, optname, | 599 | return ccid_hc_rx_getsockopt(dp->dccps_hc_rx_ccid, sk, optname, |