diff options
| author | Eli Zaretskii | 2016-10-23 22:09:43 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-10-23 22:09:43 +0300 |
| commit | ee04aedc723b035eedaf975422d4eb242894121b (patch) | |
| tree | 6c3255640228ac4ae14247c50982354f82cf702c | |
| parent | 71ca4f6a43bad06192cbc4bb8c7a2d69c179b7b0 (diff) | |
| download | emacs-ee04aedc723b035eedaf975422d4eb242894121b.tar.gz emacs-ee04aedc723b035eedaf975422d4eb242894121b.zip | |
Fix handling of buffer relocation in regex.c functions
* src/search.c (search_buffer): Updated the base pointer to buffer
text after the call to re_search_2. (Bug#24358)
| -rw-r--r-- | src/search.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/search.c b/src/search.c index ec5a1d7733f..5c04916f92e 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -1233,6 +1233,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, | |||
| 1233 | ? &search_regs : &search_regs_1), | 1233 | ? &search_regs : &search_regs_1), |
| 1234 | /* Don't allow match past current point */ | 1234 | /* Don't allow match past current point */ |
| 1235 | pos_byte - BEGV_BYTE); | 1235 | pos_byte - BEGV_BYTE); |
| 1236 | /* Update 'base' due to possible relocation inside re_search_2. */ | ||
| 1237 | base = current_buffer->text->beg; | ||
| 1236 | if (val == -2) | 1238 | if (val == -2) |
| 1237 | { | 1239 | { |
| 1238 | matcher_overflow (); | 1240 | matcher_overflow (); |
| @@ -1279,6 +1281,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, | |||
| 1279 | (NILP (Vinhibit_changing_match_data) | 1281 | (NILP (Vinhibit_changing_match_data) |
| 1280 | ? &search_regs : &search_regs_1), | 1282 | ? &search_regs : &search_regs_1), |
| 1281 | lim_byte - BEGV_BYTE); | 1283 | lim_byte - BEGV_BYTE); |
| 1284 | /* Update 'base' due to possible relocation inside re_search_2. */ | ||
| 1285 | base = current_buffer->text->beg; | ||
| 1282 | if (val == -2) | 1286 | if (val == -2) |
| 1283 | { | 1287 | { |
| 1284 | matcher_overflow (); | 1288 | matcher_overflow (); |