RE: [PHP-DEV] PCRE jit bug with UTF-8 and lookbehind assertion
| From: | Anatol Belski | Date: | Sun, 21 Feb 2016 10:42:35 +0000 |
| Subject: | RE: [PHP-DEV] PCRE jit bug with UTF-8 and lookbehind assertion | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-91341@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: Ángel González [mailto:keisial@gmail.com]
> Sent: Sunday, February 21, 2016 1:27 AM
> To: Anatol Belski <anatol.php@belski.net>
> Cc: 'Christian Schneider' <cschneid@cschneid.com>; 'PHP internals'
> <internals@lists.php.net>
> Subject: Re: [PHP-DEV] PCRE jit bug with UTF-8 and lookbehind assertion
>
> On 19/02/16 09:20, Anatol Belski wrote:
> > Could you please write back, what is the out difference between those
> > two commands? Thanks. Anatol
> In the first case, it correctly outputs «x°11» (78 c2 b0 7a). With jit enabled it
> produces «x z» (78 c2 7a). That is, it is only outputting the lower byte of the utf-8
> encoding of the U+00B0 character Tested on PHP 7.0.3 using the system libpcre
> 8.38
>
Were you putting the snippets into a file or testing on the console? I had an issue while testing
this on the console, that some chars was partially swallowed by terminal (which was a utf-8
terminal). When putting into a file, the output is same for both - "x°z". Please see also
the continued discussion in the original ticket https://bugs.exim.org/show_bug.cgi?id=1189 .
The offsets delivered by PCRE also seem to be correct, and valgrind doesn't find anything. It
were great if you could confirm these insights.
Thanks
Anatol