[PATCH] ipt_XOR fails to compile in gcc4
Phil Oester
kernel at linuxace.com
Tue Jan 11 01:36:32 CET 2005
As reported by Pawe³ Sikora, the attached fix is required by
GCC 4 due to elimination of lvalue in assignments.
Resolves bugzilla #264
Phil
-------------- next part --------------
diff -ru pom-orig/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c pom-new/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c
--- pom-orig/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c 2004-02-25 03:59:06.000000000 -0500
+++ pom-new/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c 2005-01-10 19:34:01.218767184 -0500
@@ -40,7 +40,7 @@
tcph = (struct tcphdr *) ((*pskb)->data + iph->ihl*4);
for (i=0, j=0; i<(ntohs(iph->tot_len) - iph->ihl*4 - tcph->doff*4); ) {
for (k=0; k<=info->block_size; k++) {
- (char) (*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^=
+ (*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^=
info->key[j];
i++;
}
@@ -52,7 +52,7 @@
udph = (struct udphdr *) ((*pskb)->data + iph->ihl*4);
for (i=0, j=0; i<(ntohs(udph->len)-8); ) {
for (k=0; k<=info->block_size; k++) {
- (char) (*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^=
+ (*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^=
info->key[j];
i++;
}
More information about the netfilter-devel
mailing list