Aligning matchsize and targetsize now responsibility of extension writers
(PPC fix).
diff --git a/extensions/libipt_tcp.c b/extensions/libipt_tcp.c
index 276d0e2..47336f6 100644
--- a/extensions/libipt_tcp.c
+++ b/extensions/libipt_tcp.c
@@ -374,7 +374,7 @@
 	const struct ipt_tcp *tcpinfo = (struct ipt_tcp *)match->data;
 
 	if (tcpinfo->spts[0] != 0
-	    && tcpinfo->spts[1] != 0xFFFF) {
+	    || tcpinfo->spts[1] != 0xFFFF) {
 		if (tcpinfo->invflags & IPT_TCP_INV_SRCPT)
 			printf("! ");
 		if (tcpinfo->spts[0]
@@ -388,7 +388,7 @@
 	}
 
 	if (tcpinfo->dpts[0] != 0
-	    && tcpinfo->dpts[1] != 0xFFFF) {
+	    || tcpinfo->dpts[1] != 0xFFFF) {
 		if (tcpinfo->invflags & IPT_TCP_INV_DSTPT)
 			printf("! ");
 		if (tcpinfo->dpts[0]
@@ -425,8 +425,8 @@
 = { NULL,
     "tcp",
     NETFILTER_VERSION,
-    sizeof(struct ipt_tcp),
-    sizeof(struct ipt_tcp),
+    IPT_ALIGN(sizeof(struct ipt_tcp)),
+    IPT_ALIGN(sizeof(struct ipt_tcp)),
     &help,
     &init,
     &parse,