(this report covers 3 weeks) Been a bit of a slow time as I've had a cold/flu and family issues. The main thing I did was fix a bunch of issues with tr///c. Initially I was just working on a particular ticket, then noticed that tr///c was almost completed untested in core, and had a bunch of issues, and I ended up rewriting most of the implementation for tr/nonutf8/nonutf8/c (with or without the /s and d flags). From the merge commit, v5.27.7-203-gb1f1599: This branch does the following: Fixes an issue with tr/non_utf8/long_non_utf8/c, where length(long_non_utf8) > 0x7fff. Fixes an issue with tr/non_utf8/non_utf8/cd: basically, the implicit \x{100}-\x{7fffffff} added to the searchlist by /c wasn't being added. Adds a lot of code comments to the various tr/// functions. Adds tr///c tests - basically /c was almost completely untested. Changes the layout of the op_pv transliteration table: it used to be roughly 256 x short - basic table 1 x short - length of extended table (n) n x short - extended table where the 2 and 3rd items were only present under /c. Its now 1 x Size_t - length of table (256+n) (256+n) x short - table - both basic and extended where n == 0 apart from under /c. The new table format also allowed the tr/non_utf8/non_utf8/ code branches to be considerably simplified. op_dump() now dumps the contents of the (non-utf8 variant) transliteration table. Removes I32's from the tr/non_utf8/non_utf8/ code paths, making it fully 64-bit clean. Improves the pod for tr///. The other thing of note I did was to move sub attributes back before the signature, because attributes need to be able to affect the compilation of code within the signature, e.g. sub f :lvalue ($a = do { $x = "abc"; return substr($x,0,1)}) { .... } 2018/01/02 1:43 process p5p mailbox 0:20 OP_MULTICONCAT signed/unsigned issue 2:05 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/03 2:10 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/04 4:34 RT #132608 heap-buffer-overflow in Perl_do_trans # ---- 2018/01/08 0:30 process p5p mailbox 4:21 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/09 3:11 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/10 0:13 process p5p mailbox 1:08 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/11 3:33 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/12 4:22 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/13 2:21 RT #132608 heap-buffer-overflow in Perl_do_trans # ---- 2018/01/15 5:19 RT #132608 heap-buffer-overflow in Perl_do_trans 2018/01/17 5:00 RT #132141: lvalue return broken in signature 2018/01/18 1:30 RT #132141: lvalue return broken in signature 0:56 SEGV in t/re/pat.t 2018/01/19 2:54 RT #132608 heap-buffer-overflow in Perl_do_trans SUMMARY: 0:20 OP_MULTICONCAT signed/unsigned issue 6:30 RT #132141: lvalue return broken in signature 35:58 RT #132608 heap-buffer-overflow in Perl_do_trans 0:56 SEGV in t/re/pat.t 2:26 process p5p mailbox ------ 46:10 TOTAL (HH::MM) -- This is a great day for France! -- Nixon at Charles De Gaulle's funeralThread Previous | Thread Next