[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 19990622: pqact handling of bad action lines



Steve,

5.0.8 uses a different regular expression package than 5.0.6, probably the
reason for the error.  I'll strongly consider adding a fix in the code,
but this release is getting near completion. If the fix isn't in this
release, it will be in the next. Thanks for finding the problem and
sending it.

Robb... 


On Tue, 22 Jun 1999, Unidata Support wrote:

> 
> ------- Forwarded Message
> 
> >To: support-ldm <address@hidden>
> >From: Steven Danz <address@hidden>
> >Subject: Minor pqact problem in 5.0.8
> >Organization: .
> >Keywords: 199906221828.MAA26656
> 
> Hi
> 
> I've noticed that pqact in 5.0.8 is much less forgiving
> of bad pqact.conf pattern/action statements than 5.0.6.
> The situation I've run across is where the action requests
> more fields from the pattern than were defined, for example:
> WMO ^WS.... .... ([0-3][0-9])([0-2][0-9]) FILE foo/\1\2\3.out
> 
> Around line 706 in palt.c, there is no bounds checking on
> variable no to make sure it doesn't try to index into
> pal->pmatchp past where there is valid data and when it does,
> a core file appears shortly after.  I'm guessing bounds checking
> on the no variable would fix the problem, something like
> } else if ( no <= pal->prog.re_nsub && pal->pmatchp[no].rm_so >= 0
>             && pal->pmatchp[no].rm_eo > pal->pmatchp[no].rm_so) {
> but I'm not sure what the right response is when the problem
> shows up (silently ignore, or error message and return?).
> I'm not sure why 5.0.6 doesn't have this problem (beyond the
> obvious regsub replacement).
> 
> Thanks
> 
> Steven Danz
> 
> 
> ------- End of Forwarded Message
> 

===============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
===============================================================================