Thanks.  I believe I undestand now: the buffer reserved for the cmsg
is itself unaligned because it's a char array.  It should be an array
of size_t, which will have the required alignment.

When you have time, can you please try out this patch?  The old patch
shouldn't be needed.  If it still breaks, then please send a new
backtrace with debug information, since it may be a different problem.

Thanks,
Miklos

Index: lib/mount.c
===================================================================
RCS file: /cvsroot/fuse/fuse/lib/mount.c,v
retrieving revision 1.33
diff -u -r1.33 mount.c
--- lib/mount.c 4 Dec 2006 12:45:19 -0000       1.33
+++ lib/mount.c 30 Dec 2006 13:52:43 -0000
@@ -151,7 +151,7 @@
     struct iovec iov;
     char buf[1];
     int rv;
-    char ccmsg[CMSG_SPACE(sizeof(int))];
+    size_t ccmsg[CMSG_SPACE(sizeof(int))/sizeof(size_t)];
     struct cmsghdr *cmsg;
 
     iov.iov_base = buf;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to