diff options
Diffstat (limited to 'net/dccp/proto.c')
-rw-r--r-- | net/dccp/proto.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/dccp/proto.c b/net/dccp/proto.c index 15bdc002d90c..84cd4e3fd01b 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c | |||
@@ -794,6 +794,11 @@ int dccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) | |||
794 | if (skb == NULL) | 794 | if (skb == NULL) |
795 | goto out_release; | 795 | goto out_release; |
796 | 796 | ||
797 | if (sk->sk_state == DCCP_CLOSED) { | ||
798 | rc = -ENOTCONN; | ||
799 | goto out_discard; | ||
800 | } | ||
801 | |||
797 | skb_reserve(skb, sk->sk_prot->max_header); | 802 | skb_reserve(skb, sk->sk_prot->max_header); |
798 | rc = memcpy_from_msg(skb_put(skb, len), msg, len); | 803 | rc = memcpy_from_msg(skb_put(skb, len), msg, len); |
799 | if (rc != 0) | 804 | if (rc != 0) |