[news.admin] absurd expires dates crash expire

gnu@hoptoad.uucp (John Gilmore) (08/07/87)

It never rains but pours.  While we were arguing about expiration dates,
my nightly expire was crashing three nights in a row.  The third night
I added "-v" to the script so I could see where it was dying.  It was
dying on this message:

    Path: hoptoad!ptsfa!ames!ucbcad!ucbvax!decvax!tektronix!sequent!dahutch
    From: dahutch@sequent.UUCP (dahutch)
    Newsgroups: talk.bizarre
    Subject: Re: anything
    Message-ID: <2792@sequent.UUCP>
    Date: 24 Jul 87 21:40:22 GMT
    References: <sV1GoFy00UobFHE4Ip@andrew.cmu.edu> <672@houxa.UUCP>
    Reply-To: dahutch@sequent.UUCP (dahutch)
    Organization: Sequent Computer Systems, Beaverton, OR
    Lines: 12
    Summary:woof......Woof......WOOF!!!!!
    Expires:woof......Woof......WOOF!!!!!
    Sender:woof......Woof......WOOF!!!!!
    Followup-To:no where in paticular....
    Distribution:na
    Keywords:woof......Woof......WOOF!!!!!
    
    In article <672@houxa.UUCP> melanie@houxa.UUCP (Gold Dust Woman) writes:
    >
    >melanie [saw a werewolf drinking a pina colada at Trader Vics...
    >          His hair was perfect] lee
    
    That was no werewolf....that was me.......chomp....
    
    
    					dahutch
    
    
    still without a....oh never mind.....     ;-]

I have patched expire (actually, getdate.y, which had a short buffer
which it wasn't checking for overflow of) to cope with this rather than
core dumping.  Your line numbers WILL vary, but I've verified that the
problem still exists in news 2.11 patchlevel 8, so your expire
is probably coredumping too.  Here's the patch:

*** /tmp/getdate.old	Thu Aug  6 21:17:33 1987
--- getdate.y	Thu Aug  6 21:01:08 1987
***************
*** 226,232 ****
  		} else if (isalpha(c)) {
  			p = idbuf;
  			while (isalpha(c = *lptr++) || c=='.')
! 				*p++ = c;
  			*p = '\0';
  			lptr--;
  			return (lookup(idbuf));
--- 226,232 ----
  		} else if (isalpha(c)) {
  			p = idbuf;
  			while (isalpha(c = *lptr++) || c=='.')
! 				if (p < &idbuf[sizeof(idbuf)-1]) *p++ = c;
  			*p = '\0';
  			lptr--;
  			return (lookup(idbuf));
-- 
{dasys1,ncoast,well,sun,ihnp4}!hoptoad!gnu	     gnu@postgres.berkeley.edu
Alt.all: the alternative radio of the Usenet.

mohamed@hscfvax.UUCP (750025@Mohamed_el_Lozy) (08/10/87)

In article <2664@hoptoad.uucp>, gnu@hoptoad.uucp (John Gilmore) writes:
> It never rains but pours.  While we were arguing about expiration dates,
> my nightly expire was crashing three nights in a row.  The third night
> I added "-v" to the script so I could see where it was dying.  It was
> dying on this message:
> 

That article got expired painlessly here.  I expire talk with -e4 flag, so
I guess that getdate never gets called.  One more plus for expire -e!!!!
Applied the fix though, as you never know when it will come in handy.