This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 'more' segment faults with latest cygwin1.dll (1.7.11)

On Feb 28 19:36, Yaakov (Cygwin/X) wrote:
> On Tue, 2012-02-28 at 11:24 +0100, Corinna Vinschen wrote:
> > On Feb 28 03:43, Yaakov (Cygwin/X) wrote:
> > > On Tue, 2012-02-28 at 09:18 +0100, Corinna Vinschen wrote:
> > > > It's a bug in more, afaics.  In case of pressing 'n', the search function
> > > > is called with a NULL buf argument.  However, the function calls
> > > > strlen(buf) without checking buf for NULL.  The indentation at this
> > > > point in the file looks like this  `if (strlen(buf) > 0) {' has been
> > > > added as a kind of patch.
> > > 
> > > Yes, I had to patch more(1) to use regcomp/regexec instead of
> > > re_comp/re_exec, which we don't have on Cygwin.  With your clarification
> > > I should be able to fix it easily.
> > 
> > Just an idea, instead of working around them, why not just add them
> > to the lib?  You could copy the FreeBSD implementation which just
> > implements them in terms of the regcomp/regexec API:
> > 
> >;content-type=text%2Fplain
> I thought of that when I first ported util-linux, but these functions
> were already marked legacy in SUSv2 and removed from SUSv3, so I wasn't
> sure if we wanted to first add now what most libc's already consider
> cruft.
> If you really think this should be added to Cygwin, I could do it, but I
> already have a fix for more(1) so I could do without.

Uh, that wasn't quite what I meant.  With "lib" I meant the "lib" subdir
in the util-linux source.  I was under the (wrong?) impression that the
result of `make' in the lib subdir creates a helper lib which is linked
to all executables in the collection.  Alternatively you could have
pasted them to the end of more.c, but since you have a fix now, it
doesn't matter anyway.

As for Cygwin, the aforementioned FreeBSD source builds out of the box
as part of Cygwin after you defined __DECONST.  But, like you, I'm not
sure it's such a terrible good idea to add such a long deprecated set of
functions.  OTOH, Linux provides them as well, just with the extra kick
that you have to include regex.h rather than unistd.h as on BSD.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]