netfilter: x_tables: add and use xt_check_entry_offsets
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / net / ipv4 / netfilter / ip_tables.c
index 8fc22eed96035a109d19f5131844e7965bbd06bf..5cbc01a3ac44ad8fc04e80d2ec62c5b62cbdbd46 100644 (file)
@@ -565,20 +565,10 @@ static void cleanup_match(struct xt_entry_match *m, struct net *net)
 static int
 check_entry(const struct ipt_entry *e)
 {
-       const struct xt_entry_target *t;
-
        if (!ip_checkentry(&e->ip))
                return -EINVAL;
 
-       if (e->target_offset + sizeof(struct xt_entry_target) >
-           e->next_offset)
-               return -EINVAL;
-
-       t = ipt_get_target_c(e);
-       if (e->target_offset + t->u.target_size > e->next_offset)
-               return -EINVAL;
-
-       return 0;
+       return xt_check_entry_offsets(e, e->target_offset, e->next_offset);
 }
 
 static int