------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1100




--- Comment #1 from Tom Hughes <[email protected]>  2011-03-25 14:42:02 ---
Created an attachment (id=471)
 --> (http://bugs.exim.org/attachment.cgi?id=471)
Patch to fix backtracking

The problem is that when processing OP_EXTUNI in match() the backtracking does
this to see if we have backtracked far enough:

  if (eptr-- == pp) break;        /* Stop if tried at original pos */

The problem of course, is that simply decrementing by one will not move us
backwards properly if the last character was a multibyte UTF-8 sequence - we
need to call BACKCHAR to find the start of the previous character.

The attached patch seems to fix things, although you may have a cleaner way of
doing it.

I would also note that, from a quick search through the source, there are
probably similar problems in some of the other ops.


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at http://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to