From 589bd69b63c7f9513d3ee9053f4a4d3bfe7705e0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 22 Sep 2012 15:31:05 +0300 Subject: [PATCH] Fix bug #10159 with crashes in auto-complete package. src/xdisp.c (next_overlay_string): Initialize it->end_charpos for the new overlay string. Otherwise, the call to composition_compute_stop_pos in compute_stop_pos uses a wrong it->end_charpos value, and crashes because it runs off the end of the overlay string. --- src/ChangeLog | 5 +++++ src/xdisp.c | 1 + 2 files changed, 6 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 847e065e1c..4033f51ca1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-09-22 Eli Zaretskii + + * xdisp.c (next_overlay_string): Initialize it->end_charpos for + the new overlay string. (Bug#10159) + 2012-09-22 Paul Eggert * emacs.c (shut_down_emacs): Don't assume stderr is buffered, diff --git a/src/xdisp.c b/src/xdisp.c index f00719be37..c2032696a1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5346,6 +5346,7 @@ next_overlay_string (struct it *it) SET_TEXT_POS (it->current.string_pos, 0, 0); it->method = GET_FROM_STRING; it->stop_charpos = 0; + it->end_charpos = SCHARS (it->string); if (it->cmp_it.stop_pos >= 0) it->cmp_it.stop_pos = 0; it->prev_stop = 0; -- 2.20.1