[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111021: Fix bug #13084 with crash
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111021: Fix bug #13084 with crashes during search. |
Date: |
Tue, 11 Dec 2012 17:30:45 +0200 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111021
fixes bug: http://debbugs.gnu.org/13084
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Tue 2012-12-11 17:30:45 +0200
message:
Fix bug #13084 with crashes during search.
src/search.c (search_buffer): Check the inverse translations of each
character in pattern when the buffer being searched is unibyte.
modified:
src/ChangeLog
src/search.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-12-10 23:16:28 +0000
+++ b/src/ChangeLog 2012-12-11 15:30:45 +0000
@@ -1,3 +1,9 @@
+2012-12-11 Eli Zaretskii <address@hidden>
+
+ * search.c (search_buffer): Check the inverse translations of each
+ character in pattern when the buffer being searched is unibyte.
+ (Bug#13084)
+
2012-12-10 Paul Eggert <address@hidden>
* fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent
=== modified file 'src/search.c'
--- a/src/search.c 2012-10-10 20:09:47 +0000
+++ b/src/search.c 2012-12-11 15:30:45 +0000
@@ -1406,7 +1406,7 @@
char_base = 0;
while (--len >= 0)
{
- int c, translated;
+ int c, translated, inverse;
/* If we got here and the RE flag is set, it's because we're
dealing with a regexp known to be trivial, so the backslash
@@ -1420,6 +1420,20 @@
c = *base_pat++;
TRANSLATE (translated, trt, c);
*pat++ = translated;
+ /* Check that none of C's equivalents violates the
+ assumptions of boyer_moore. */
+ TRANSLATE (inverse, inverse_trt, c);
+ while (1)
+ {
+ if (inverse >= 0200)
+ {
+ boyer_moore_ok = 0;
+ break;
+ }
+ if (c == inverse)
+ break;
+ TRANSLATE (inverse, inverse_trt, inverse);
+ }
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111021: Fix bug #13084 with crashes during search.,
Eli Zaretskii <=