-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The bug doesn't seem to be in sed. The match() function calls
rregexec(), which sets a strucuture that is set to loc2, which is made
null for some reason.
On Feb 4, 2009, at 10:08 PM, Pietro Gagliardi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
lp = loc2;
loc2 = sp - genbuf + linebuf;
while(*sp++ = *lp++)
At the point of crash, loc2 is a null pointer when it is assigned to
lp, so when the while() statement executes, crash. Now to find out
why and when loc2 becomes null.
On Feb 4, 2009, at 9:59 PM, Pietro Gagliardi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Feb 4, 2009, at 9:28 PM, Uriel wrote:
For those that enjoy fixing bugs:
% echo foo | sed
's
/..a|..b|..c|..d|..e|..f|..g|..h|..i|..j|..k|..l|..m|..n|..o|..p//g'
Will crash both native and p9p sed.
Yes, I know it is a nonsensical expression, but it is the simplest
one
that still made it crash, I have lost the original version which was
much more complex.
Note that providing two characters as input will still crash, but if
the input line is a single character it wont crash.
I have been meaning to get all the fun of tracking this one down
myself for a while, but seems that I never get to it, so I will let
others enjoy the fun of fixing it.
Peace
uriel
For me, it crashes on the second line of input, in the dosub()
function. Will investigate now.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkmKVgoACgkQuv7AVNQDs+x7ZACfYvtxSB5c8TD8LFFjPPHsgtah
9DwAnjIQ0GM4b82JGPpdJIUYfHjs7+Pv
=7lRk
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkmKWCEACgkQuv7AVNQDs+xSQQCgoFPwqMsaphtaKBTHHLFryiJr
eUMAnA9BjuDpMU40VqJp5hu1EDr3mdXp
=XF/E
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEUEARECAAYFAkmKYMwACgkQuv7AVNQDs+xcpACYi9wXYM/0ONUOOrqPJu4ViRFZ
BACfTLv0GRuZzUP/WYeU72Jm+KqDunw=
=Vrfb
-----END PGP SIGNATURE-----