I am trying to run iptables (1.4.2 release)on a MCF53281(m68knommu, 2.6.26 kernel) embedded board. It failed with " iptables v1.4.2: can't initialize iptables table `filter': No chain/target/match by that name Perhaps iptables or your kernel needs to be upgraded. I traced the calls and found out that it failed at iptcc_chain_index_alloc(): h->chain_index = malloc(array_mem); in the first call to iptcc_chain_index_alloc() array_mem is 0 which means malloc(0) is called in the above statement. depends on the implementation malloc(0) may return NULL which is the case for m68k-uclinux-gcc(gcc version 4.2.3 and uClibc-0.9.29-20081003) I have changed the code to: if(array_mem == 0) h->chain_index = malloc(1); else h->chain_index = malloc(array_mem); and it works(while I have to fix another error -- ip_tables: ERROR target: invalid size 30 != 32) My question: 1 why tries to allocate 0 size memory, it is useful? 2 is there any problem to the iptables program in my change? I may have to rebuild the toolchain so malloc will return a live pointer for 0 size allocation. 3 I have got the error ip_tables: ERROR target: invalid size 30 != 32 from 1.3.7 and 1.4.2 (didn't try other versions) and sent to this list a question before but haven't received any answer then I assume I have done something wrong. If this is not the correct mailing list for these questions then can someone let me know the right mailing list ? thanks, David Wu -- To unsubscribe from this list: send the line "unsubscribe netfilter" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html