Index: libiptc/libip4tc.c =================================================================== --- libiptc/libip4tc.c (revision 3742) +++ libiptc/libip4tc.c (working copy) @@ -210,6 +210,7 @@ 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; } Index: libiptc/libip6tc.c =================================================================== --- libiptc/libip6tc.c (revision 3742) +++ libiptc/libip6tc.c (working copy) @@ -242,6 +242,7 @@ 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; }