Further examination reveals this to be a problem with the handling of
multibyte characters.  It was working in my x86 chroot owing to
different locale settings.

builtin.c has the following:

#ifdef MBS_SUPPORT
                if (gawk_mb_cur_max > 1) {
                        t1 = str2wstr(t1, & wc_indices);
                        rlength = wc_indices[rstart + rlength - 1] - 
wc_indices[rstart] + 1;
                        rstart = wc_indices[rstart];
                }
#endif

if rstart and rlength are both 0 (as is the case on an empty match),
this ends up dereferencing the array element at -1.   A patch like the
attached seems to make the problem go away, but I've not checked to see
if the same problem occurs elsewhere.


** Attachment added: "gawk.patch"
   http://launchpadlibrarian.net/8555039/gawk.patch

-- 
match operator broken on amd64
https://bugs.launchpad.net/bugs/127850
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to