home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume1 / rn / patch36 < prev    next >
Text File  |  1986-11-30  |  2KB  |  82 lines

  1. /* Written  2:59 pm  Nov 17, 1986 by lwall@sdcrdcf.UUCP in mirror:news.software.b */
  2. /* ---------- "rn 4.3 patch #36" ---------- */
  3. System: rn version 4.3
  4. Patch #: 36
  5. Priority: depends
  6. Subject: Rn can dump core on 16 bit machines
  7. From: mn-at1!alan (Alan Klietz)
  8.  
  9. Description:
  10.     Rn dumps core on 16 bit machines when adding a new
  11.     newsgroup to the .newsrc file.
  12.     
  13. Repeat by:
  14.     Create a new newsgroup and then run rn.
  15.     It will dump core.
  16.  
  17. Fix:
  18.     The birthof() procedure fails to coerce the null pointer
  19.     to the time() system call to (long *).  This results in
  20.     a 16 bit quantity being pushed on the stack which is 
  21.     derefernced by the time() system call as a 32 bit quantity.
  22.     This results in a segment violation.
  23.  
  24.     The fix is to use a properly coerced pointer.
  25.  
  26.     From rn, say "| patch -d DIR", where DIR is your rn source directory.
  27.     Outside of rn, say "cd DIR; patch <thisarticle".  If you don't have
  28.     the patch program, apply the following by hand, or get patch.
  29.  
  30.     If patch indicates that patchlevel is the wrong version, you may need
  31.     to apply one or more previous patches, or the patch may already
  32.     have been applied.  See the patchlevel file to find out what has or
  33.     has not been applied.  In any event, don't continue with the patch.
  34.  
  35.     [Note, I cannot test this patch because rn is being rewritten--law]
  36.  
  37.     If you are missing previous patches they can be obtained from me:
  38.  
  39.     Larry Wall
  40.     {allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall
  41.  
  42.     If you send a mail message of the following form it will greatly speed
  43.     processing:
  44.  
  45.     Subject: Command
  46.     @SH mailpatch PATH rn 4.3 LIST
  47.  
  48.     where PATH is a return path FROM ME TO YOU in bang notation, and LIST
  49.     is a list of one or more patches you need, separated by spaces, commas
  50.     and/or hyphens.
  51.  
  52. Index: patchlevel
  53. Prereq: 35
  54. 1c1
  55. < Patch #: 35
  56. ---
  57. > Patch #: 36
  58.  
  59. Index: addng.c
  60. *** addng.c.orig    Tue Nov 11 17:03:35 1986
  61. --- addng.c    Tue Nov 11 17:08:28 1986
  62. ***************
  63. *** 111,117
  64.    
  65.       sprintf(tst, ngsize ? "%s/%s/1" : "%s/%s" ,spool,getngdir(ngnam));
  66.       if (stat(tst,&filestat) < 0)
  67. !     return (ngsize ? 0L : time(0));    /* not there, assume something good */
  68.       else
  69.       return filestat.st_mtime;
  70.   }
  71.  
  72. --- 111,118 -----
  73.    
  74.       sprintf(tst, ngsize ? "%s/%s/1" : "%s/%s" ,spool,getngdir(ngnam));
  75.       if (stat(tst,&filestat) < 0)
  76. !     return (ngsize ? 0L : time(Null(long *)));
  77. !     /* not there, assume something good */
  78.       else
  79.       return filestat.st_mtime;
  80.   }
  81. /* End of text from mirror:news.software.b */
  82.