[Spread-cvs] cvs commit: spread/daemon session.c Makefile.in Readme.txt

jonathan at spread.org jonathan at spread.org
Tue Jun 17 15:00:12 EDT 2003


jonathan    03/06/17 15:00:11

  Modified:    daemon   session.c Makefile.in Readme.txt
  Log:
  Fix memory corruption/crash bug when fragmented message headers received by
  the daemon. Also change the order in the makefile so docs are built after
  the binary.
  
  Revision  Changes    Path
  1.14      +3 -1      spread/daemon/session.c
  
  Index: session.c
  ===================================================================
  RCS file: /storage/cvsroot/spread/daemon/session.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- session.c	28 Mar 2003 16:26:00 -0000	1.13
  +++ session.c	17 Jun 2003 19:00:10 -0000	1.14
  @@ -1153,6 +1153,7 @@
   	int             len, remain, ret;
           int             head_size, data_frag_len;
           int             ses, ioctl_cmd;
  +        char            *head_cbuf;
   #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_cbuf = (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_cbuf[len], remain, 0 );
                   if( ret  == remain )
                   {
                           Sessions[ses].read.cur_byte += ret;
  
  
  
  1.7       +1 -1      spread/daemon/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  RCS file: /storage/cvsroot/spread/daemon/Makefile.in,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Makefile.in	28 Mar 2003 16:24:48 -0000	1.6
  +++ Makefile.in	17 Jun 2003 19:00:10 -0000	1.7
  @@ -77,7 +77,7 @@
   
   FIXPATHSCMD	= $(PERL) $(buildtoolsdir)/fixpaths $(PATHSUBS)
   
  -all: $(CONFIGFILES) $(MANPAGES) $(TARGETS)
  +all: $(TARGETS) $(MANPAGES)
   
   $(SPREADOBJS): config.h
   $(MONITOROBJS): config.h
  
  
  
  1.32      +7 -2      spread/daemon/Readme.txt
  
  Index: Readme.txt
  ===================================================================
  RCS file: /storage/cvsroot/spread/daemon/Readme.txt,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Readme.txt	17 Jun 2003 01:05:48 -0000	1.31
  +++ Readme.txt	17 Jun 2003 19:00:10 -0000	1.32
  @@ -46,10 +46,10 @@
   | WWW    : http://www.spread.org  and  http://www.cnds.jhu.edu              |
   | Contact: spread at spread.org                                                |
   |                                                                           |
  -| Version 3.17.1 Built XX/November/2002                                     |
  +| Version 3.17.1 Built XX/June/2003                                         |
   \===========================================================================/
   
  -November XX, 2002 Ver 3.17.1
  +June XX, 2003 Ver 3.17.1
   ----------------------------
   Bugfixes:
   *) Fix memory corruption and crash with groups of large size.
  @@ -66,6 +66,11 @@
   *) Fix Win32 project files to have correct path to source files. 
      (note CVS was always ok, but 3.17.0 release had incorrect path)
   *) Fix bug where large groups overflow Mess_buf in groups.c.
  +*) Fix memory corruption bug when a message header is received in
  +   several separate packets in session.c. Thanks to Ryan Caudy for 
  +   many, many hours tracking this down.
  +*) Change order of build in Makefile so binaries are built before
  +   documentation.
   
   September 25, 2002 Ver 3.17.0
   ----------------------
  
  
  




More information about the Spread-cvs mailing list