On Tue, May 31, 2011 at 08:33:07AM -0700, Father Chrysostomos via RT wrote: > > > Hang about, I'm confused now. All the failures I saw were in > > pp_parseform, > > > related to buffer overruns in PL_formtarget. I never saw the > > assertion > > > failure in S_doparseform, and none of my commits would have > > addressed such > > > a failure. > > I only got an assertion failure when I tried out Robin’s patch. So I > didn’t push it. > > > > > But regardless, Robin's patch looks successful. > > ? > > > > > Can anyone see the assertion failure since my series of commits? > > No. Nor was there one before that. Ok I've looked more closely at this, and I'm happy now that the buffer estimation code as-is now is correct, and that Robin's patch was wrong. Basically each of \n, @ and ^ can add up to 10 ops, while \0 can add 10 only if it's the last char in the string. So 12 + 10*(number of [\n@^]) is right. -- print+qq&$}$"$/$s$,$a$d$g$s$@$.$q$,$:$.$q$^$,$@$a$~$;$.$q$m&if+map{m,^\d{0\,},,${$::{$'}}=chr($"+=$&||1)}q&10m22,42}6:17a2~2.3@3;^2dg3q/s"&=~m*\d\*.*gThread Previous