Re: tcsh in current-8.0 coredump

From: Ken Smith <kensmith_at_cse.Buffalo.EDU>
Date: Wed, 20 Feb 2008 13:25:00 -0500
On Wed, 2008-02-20 at 09:30 -0800, Mark Peek wrote:
> On 2/20/08 8:05 AM, Rui Paulo wrote:
> > 
> > On Feb 20, 2008, at 1:27 PM, Anton Yuzhaninov wrote:
> > 
> >> On 20.02.2008 4:56, Rui Paulo wrote:
> >>> On Feb 19, 2008, at 9:47 PM, Anton Yuzhaninov wrote:
> >>>> Problem was described here:
> >>>> http://docs.freebsd.org/cgi/mid.cgi?131632274.20070319100945
> >>>> http://mx.gw.com/pipermail/tcsh-bugs/2007-March/000481.html
> >>>>
> >>>> This was fixed for RELENG_7:
> >>>>
> >>>> http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/tcsh/sh.lex.c
> >>>> Revision 1.1.1.8 (vendor branch): download - view: text, markup, 
> >>>> annotated - select for diffs
> >>>> Tue Apr 3 15:51:53 2007 UTC (10 months, 2 weeks ago) by mp
> >>>> Branches: ZOULAS, MAIN
> >>>> CVS tags: tcsh_6_15p1, RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0, RELENG_7
> >>>> Diff to: previous 1.1.1.7: preferred, colored
> >>>> Changes since revision 1.1.1.7: +2 -1 lines
> >>>>
> >>>> Import vendor patch to fix postcmd regression in tcsh-6.15.00.
> >>>> -------
> >>>>
> >>>> But this bug was not fixed in HEAD.
> >>>>
> >>> Are you sure? I seem to recall this was fixed even before RELENG_7 
> >>> was tagged.
> >>
> >> $ cvs up
> >> $ cvs diff -r HEAD -r RELENG_7 contrib/tcsh/sh.lex.c
> >> Index: contrib/tcsh/sh.lex.c
> >> ===================================================================
> >> RCS file: /home/ncvs/src/contrib/tcsh/sh.lex.c,v
> >> retrieving revision 1.1.1.9
> >> retrieving revision 1.1.1.8
> >> diff -u -r1.1.1.9 -r1.1.1.8
> >> --- contrib/tcsh/sh.lex.c       15 Oct 2007 16:54:07 -0000      1.1.1.9
> >> +++ contrib/tcsh/sh.lex.c       3 Apr 2007 15:51:53 -0000       1.1.1.8
> >> _at__at_ -851,7 +851,8 _at__at_
> >>            return (en);
> >>        }
> >>        slhs.len = 0;
> >> -       Strbuf_append(&slhs, lhsb.s);
> >> +       if (lhsb.s != NULL && lhsb.len != 0)
> >> +           Strbuf_append(&slhs, lhsb.s);
> >>        Strbuf_terminate(&slhs);
> >>        if (exclc)
> >>            en = dosub(sc, en, global);
> >>
> >> As you can see from cvs diff, null pointer check present in RELENG_7. 
> >> but absent in HEAD
> > 
> > Oh, you are right. This was never MFC'ed, but the log says:
> > 
> > revision 1.1.1.9
> > date: 2007/10/15 16:54:07;  author: mp;  state: Exp;  lines: +1 -2
> > Import two vendor fixes from tcsh-6.15.01 for MFC to 7.0. The fixes are:
> >     - Fix pty detection for autologout setting
> >     - kill `foo` got stuck because sigchld was disabled too soon
> > 
> > Requested by: re
> > 
> > Maybe we should MFC this now.
> 
> That's really odd. I thought RELENG_7 didn't branch until 10/10/2007 but the 
> postcmd fix was imported on 4/3/2007. In other words, I thought it was already 
> in RELENG_7. But CVS still thinks the two are different. I can MFC it whenever 
> re_at_ approves it given we're at 7.0-RC2.
> 
> Mark

I *think* the original message above has it correct and you (Mark and
Rui) have it reversed.  Mark, I think when re_at_ requested this you might
have done the commit straight to RELENG_7 and didn't do HEAD.  So as
things stand right now this is what's in RELENG_7 and RELENG_7_0:

        slhs.len = 0;
        if (lhsb.s != NULL && lhsb.len != 0)
            Strbuf_append(&slhs, lhsb.s);
        Strbuf_terminate(&slhs);

(which I believe is what you want) but this is what's in HEAD:

        slhs.len = 0;
        Strbuf_append(&slhs, lhsb.s);
        Strbuf_terminate(&slhs);

If I'm wrong about that let me know.  Otherwise you don't need approval
for what needs to be done from re_at_, just commit the fix to HEAD whenever
you want.

-- 
                                                Ken Smith
- From there to here, from here to      |       kensmith_at_cse.buffalo.edu
  there, funny things are everywhere.   |
                      - Theodore Geisel |


Received on Wed Feb 20 2008 - 17:25:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:27 UTC