diff options
| -rw-r--r-- | net/netfilter/xt_TEE.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/netfilter/xt_TEE.c b/net/netfilter/xt_TEE.c index 3aae66facf9f..4d5057902839 100644 --- a/net/netfilter/xt_TEE.c +++ b/net/netfilter/xt_TEE.c | |||
| @@ -152,9 +152,10 @@ tee_tg_route6(struct sk_buff *skb, const struct xt_tee_tginfo *info) | |||
| 152 | fl6.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) | | 152 | fl6.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) | |
| 153 | (iph->flow_lbl[1] << 8) | iph->flow_lbl[2]; | 153 | (iph->flow_lbl[1] << 8) | iph->flow_lbl[2]; |
| 154 | dst = ip6_route_output(net, NULL, &fl6); | 154 | dst = ip6_route_output(net, NULL, &fl6); |
| 155 | if (dst == NULL) | 155 | if (dst->error) { |
| 156 | dst_release(dst); | ||
| 156 | return false; | 157 | return false; |
| 157 | 158 | } | |
| 158 | skb_dst_drop(skb); | 159 | skb_dst_drop(skb); |
| 159 | skb_dst_set(skb, dst); | 160 | skb_dst_set(skb, dst); |
| 160 | skb->dev = dst->dev; | 161 | skb->dev = dst->dev; |
