Aligns buffers to maximum alignment of architecture to make the cast of char pointers to struct pointers more portable. Packet decoding is still broken on particular platforms. Signed-off-by: Fabian Hugelshofer <hugelshofer2006@xxxxxx> diff -ruN libnfnetlink-0.0.38.orig/src/libnfnetlink.c libnfnetlink-0.0.38/src/libnfnetlink.c --- libnfnetlink-0.0.38.orig/src/libnfnetlink.c 2008-06-02 18:54:18.000000000 +0100 +++ libnfnetlink-0.0.38/src/libnfnetlink.c 2008-06-02 18:57:32.000000000 +0100 @@ -528,7 +528,7 @@ void *), void *jarg) { struct sockaddr_nl nladdr; - char buf[NFNL_BUFFSIZE]; + char buf[NFNL_BUFFSIZE] __attribute__ ((aligned)); struct iovec iov; int remain; struct nlmsghdr *h; @@ -637,7 +637,7 @@ int (*junk)(struct sockaddr_nl *, struct nlmsghdr *n, void *), void *jarg) { - char buf[NFNL_BUFFSIZE]; + char buf[NFNL_BUFFSIZE] __attribute__ ((aligned)); struct sockaddr_nl nladdr; struct nlmsghdr *h; unsigned int seq; @@ -1474,7 +1474,8 @@ assert(h); while (1) { - unsigned char buf[h->rcv_buffer_size]; + unsigned char buf[h->rcv_buffer_size] + __attribute__ ((aligned)); ret = nfnl_recv(h, buf, sizeof(buf)); if (ret == -1) { -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html