Re: [PATCH v2 0/3] Fix a segfault caused by regexec() being called on mmap()ed data
- From
Jeff King <peff@peff.net>
- Date
- Sep 8, 2016, 08:13 UTC
- Message-ID
- <20160908081305.yhzodcjjsobq4spo@sigill.intra.peff.net>
- In-Reply-To
- <alpine.DEB.2.20.1609080931250.129229@virtualbox>
On Thu, Sep 08, 2016 at 09:33:29AM +0200, Johannes Schindelin wrote:
Show 13 quoted lines
> On Thu, 8 Sep 2016, Johannes Schindelin wrote: > > > We solve this by introducing a helper, regexec_buf(), that takes a > > pointer and a length instead of a NUL-terminated string. > > BTW I should have clarified why I decided on another name than regexecn() > (I had considered this even before reading Peff's proposed patch): the <n> > in string functions suggest a limiting of NUL-terminated strings. In other > words, if n = 100 and the provided pointer points to a NUL-terminated > string of length 3, the *n function will treat it as a string of length 3. > > That is not what regexec_buf() does: it ignores the NUL. Hence the > different name.
I agree that is a better name (this was the exact thing I wondered about with REG_STARTEND, but certainly what we _want_ is true "_buf" semantics).
I guess an argument that REG_STARTEND does what we want everywhere is that the GNU implementation does what we want, and since it has been around for over a decade presumably _somebody_ would have complained if it did not match the NetBSD behavior.
-Peff