--- daemon/session.c	2003-04-18 13:13:09.000000000 -0400
+++ session.c.patched	2003-05-20 16:29:15.000000000 -0400
@@ -1153,6 +1153,7 @@
 	int             len, remain, ret;
         int             head_size, data_frag_len;
         int             ses, ioctl_cmd;
+        char            *head_buf;
 #if 0
 #ifndef ARCH_SCATTER_NONE
 static  struct  msghdr  msgh;
@@ -1187,6 +1188,7 @@
 
         msg = Sessions[ses].read_mess;
 	head_ptr = Message_get_message_header(msg);
+        head_buf = (char*)head_ptr;
         head_size = Message_get_header_size();
 
         /* set file descriptor to non blocking */
@@ -1198,7 +1200,7 @@
                 /* read up to size of message_header */
                 len = Sessions[ses].read.cur_byte;
                 remain = sizeof(message_header) - len;
-                ret = recv( mbox, (char *) &head_ptr[len], remain, 0 );
+                ret = recv( mbox, (char *) &head_buf[len], remain, 0 );
                 if( ret  == remain )
                 {
                         Sessions[ses].read.cur_byte += ret;
