Browse Source

solve a kernel mem leak when strict-source is set and triggered

Change-Id: Ib603c5b9587e9b027d34e20bc135a755ab04caf3
(cherry picked from commit 0a593cfed1)
mr4.5.3
Richard Fuchs 9 years ago
parent
commit
c9673e0de4
1 changed files with 4 additions and 5 deletions
  1. +4
    -5
      kernel-module/xt_RTPENGINE.c

+ 4
- 5
kernel-module/xt_RTPENGINE.c View File

@ -2457,6 +2457,7 @@ static unsigned int rtpengine46(struct sk_buff *skb, struct rtpengine_table *t,
struct rtpengine_target *g;
struct sk_buff *skb2;
int err;
int error_nf_action = XT_CONTINUE;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
int rtp_pt_idx = -2;
#endif
@ -2517,8 +2518,8 @@ not_stun:
if (g->target.src_mismatch == MSM_PROPAGATE)
goto skip1;
/* MSM_DROP */
err = -1;
goto out;
error_nf_action = NF_DROP;
goto skip_error;
src_check_ok:
if (g->target.dtls && is_dtls(skb))
@ -2580,8 +2581,6 @@ not_rtp:
err = send_proxy_packet(skb, &g->target.src_addr, &g->target.dst_addr, g->target.tos, par);
out:
if (atomic64_read(&g->stats.packets)==0)
atomic_set(&g->stats.in_tos,in_tos);
@ -2640,7 +2639,7 @@ skip1:
skip2:
kfree_skb(skb);
table_push(t);
return XT_CONTINUE;
return error_nf_action;
}


Loading…
Cancel
Save