diff options
Diffstat (limited to 'net/dccp/ipv6.c')
-rw-r--r-- | net/dccp/ipv6.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 91e7b12df13b..c8bf89bfb088 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -995,6 +995,10 @@ static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) | |||
995 | if (sk->sk_state == DCCP_OPEN) { /* Fast path */ | 995 | if (sk->sk_state == DCCP_OPEN) { /* Fast path */ |
996 | if (dccp_rcv_established(sk, skb, dccp_hdr(skb), skb->len)) | 996 | if (dccp_rcv_established(sk, skb, dccp_hdr(skb), skb->len)) |
997 | goto reset; | 997 | goto reset; |
998 | if (opt_skb) { | ||
999 | /* This is where we would goto ipv6_pktoptions. */ | ||
1000 | __kfree_skb(opt_skb); | ||
1001 | } | ||
998 | return 0; | 1002 | return 0; |
999 | } | 1003 | } |
1000 | 1004 | ||
@@ -1019,6 +1023,10 @@ static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) | |||
1019 | 1023 | ||
1020 | if (dccp_rcv_state_process(sk, skb, dccp_hdr(skb), skb->len)) | 1024 | if (dccp_rcv_state_process(sk, skb, dccp_hdr(skb), skb->len)) |
1021 | goto reset; | 1025 | goto reset; |
1026 | if (opt_skb) { | ||
1027 | /* This is where we would goto ipv6_pktoptions. */ | ||
1028 | __kfree_skb(opt_skb); | ||
1029 | } | ||
1022 | return 0; | 1030 | return 0; |
1023 | 1031 | ||
1024 | reset: | 1032 | reset: |