summaryrefslogtreecommitdiffstats
path: root/libiptc
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-06-23 08:51:18 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-06-23 08:51:18 +0000
commit3c4dd20b84408bd6d619b3bb18d663f143eb773d (patch)
tree1a87deb1a8775a3a48affc57b095b470e5773740 /libiptc
parent3d11b21da2540b972e6197219fecc10b1773a685 (diff)
fix deletion of targets where kernel size != userspace size (Pablo Neira)
Diffstat (limited to 'libiptc')
-rw-r--r--libiptc/libip4tc.c1
-rw-r--r--libiptc/libip6tc.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/libiptc/libip4tc.c b/libiptc/libip4tc.c
index 392a9de..2e8647c 100644
--- a/libiptc/libip4tc.c
+++ b/libiptc/libip4tc.c
@@ -210,6 +210,7 @@ is_same(const STRUCT_ENTRY *a, const STRUCT_ENTRY *b, unsigned char *matchmask)
mptr = matchmask + sizeof(STRUCT_ENTRY);
if (IPT_MATCH_ITERATE(a, match_different, a->elems, b->elems, &mptr))
return NULL;
+ mptr += IPT_ALIGN(sizeof(struct ipt_entry_target));
return mptr;
}
diff --git a/libiptc/libip6tc.c b/libiptc/libip6tc.c
index 1c1f14e..8ca5ea6 100644
--- a/libiptc/libip6tc.c
+++ b/libiptc/libip6tc.c
@@ -242,6 +242,7 @@ is_same(const STRUCT_ENTRY *a, const STRUCT_ENTRY *b,
mptr = matchmask + sizeof(STRUCT_ENTRY);
if (IP6T_MATCH_ITERATE(a, match_different, a->elems, b->elems, &mptr))
return NULL;
+ mptr += IP6T_ALIGN(sizeof(struct ip6t_entry_target));
return mptr;
}