[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18580: [PATCH] dfa: check end of an input buffer after a transition
From: |
Norihiro Tanaka |
Subject: |
bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales |
Date: |
Fri, 03 Oct 2014 00:35:14 +0900 |
Thanks.
Jim Meyering wrote:
> Thanks. This will work, if nothing better comes up, since
> when running ASAN-enabled binaries, this evokes an abort:
>
> LC_ALL=zh_CN src/grep -z . < /dev/null
>
> [note that I dropped the "env" and using input redirection
> is slightly better for debugging than using a pipe]
This is reproduced in current master only. I changed dfa.c to test it
easily, compile and run.
--
diff --git a/src/dfa.c b/src/dfa.c
index 4f45fff..51d5879 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -3351,6 +3351,7 @@ dfaexec_main (struct dfa *d, char const *begin, char *end,
/* Can match with a multibyte character (and multi character
collating element). Transition table might be updated. */
s = transit_state (d, s, &p, (unsigned char *) end);
+printf ("p = %x, end = %x\n", p, end);
mbp = p;
trans = d->trans;
}
--
The result is below.
$ env LC_ALL=zh_CN src/grep -z . </dev/null
p = 80821a5, end = 80821a5
p = 80821a6, end = 80821a5
p = 80821a7, end = 80821a5
p = 80821a8, end = 80821a5
p = 80821a9, end = 80821a5
p = 80821aa, end = 80821a5
p = 80821ab, end = 80821a5
p = 80821ac, end = 80821a5
p = 80821ad, end = 80821a5
p = 80821ae, end = 80821a5
p = 80821af, end = 80821a5
p = 80821b0, end = 80821a5
p = 80821b1, end = 80821a5
p = 80821b2, end = 80821a5
p = 80821b3, end = 80821a5
p = 80821b4, end = 80821a5
p = 80821b5, end = 80821a5
p = 80821b6, end = 80821a5
p = 80821b7, end = 80821a5
p = 80821b8, end = 80821a5
p = 80821b9, end = 80821a5
p = 80821ba, end = 80821a5
p = 80821bb, end = 80821a5
p = 80821bc, end = 80821a5
p = 80821bd, end = 80821a5
p = 80821be, end = 80821a5
p = 80821bf, end = 80821a5
p = 80821c0, end = 80821a5
p = 80821c1, end = 80821a5
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/01
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/01
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Jim Meyering, 2014/10/02
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales,
Norihiro Tanaka <=
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/02
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/02
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/02
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/04
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Paul Eggert, 2014/10/04
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Jim Meyering, 2014/10/05
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Paul Eggert, 2014/10/05
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/05
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Jim Meyering, 2014/10/05
- bug#18580: [PATCH] dfa: check end of an input buffer after a transition in non-UTF8 multibyte locales, Norihiro Tanaka, 2014/10/05