When multibyte flag is on, exit condition is `p >= end'.  OTOH, when off,
it's `p > end'.  I think that the later is right, and fix the former.
From 052f4b7c671bfe5221caf687e819d635d9513147 Mon Sep 17 00:00:00 2001
From: Norihiro Tanaka <[email protected]>
Date: Fri, 9 May 2014 15:28:38 +0900
Subject: [PATCH] dfa: fix mismatch of exit conditions due to whether multibyte
 flag is on or off

* src/dfa.c (dfaexec): Fix it.
---
 src/dfa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/dfa.c b/src/dfa.c
index fc6ce72..2a326e6 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -3318,7 +3318,7 @@ dfaexec (struct dfa *d, char const *begin, char *end,
                                          end - (char const *) mbp, d);
                   p = mbp;
 
-                  if ((char *) p >= end)
+                  if ((char *) p > end)
                     {
                       p = NULL;
                       goto done;
-- 
1.9.2

Reply via email to