Below is the patch that make addresses of particular struct members align at
32-bits memory boundry.
Tested on my ixp4xx system:
[EMAIL PROTECTED]:~# uname -a
Linux IXDP425 2.4.21-rmk1-ds1-Xteam #36 Tue Mar 11 13:20:47 CST 2008 armv5b
unknown unknown GNU/Linux
--- edge.c (revision 3484)
+++ edge.c (working copy)
@@ -747,12 +747,14 @@
static void readFromTAPSocket()
{
/* tun -> remote */
- u_char decrypted_msg[2048];
+ u_char decrypted_msg2[2048];
+#define ALIGN_PADDING 2
+ u_char *decrypted_msg = decrypted_msg2 + ALIGN_PADDING;
size_t len;
- len = tuntap_read(&device, decrypted_msg, sizeof(decrypted_msg));
+ len = tuntap_read(&device, decrypted_msg, sizeof(decrypted_msg2) -
ALIGN_PADDING);
- if((len <= 0) || (len > sizeof(decrypted_msg)))
+ if((len <= 0) || (len > sizeof(decrypted_msg2) - ALIGN_PADDING))
traceEvent(TRACE_WARNING, "read()=%d [%d/%s]\n",
len, errno, strerror(errno));
else {
_______________________________________________
Ntop-dev mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev