diff options
| author | Eli Zaretskii | 2022-07-09 13:16:12 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2022-07-09 13:16:12 +0300 |
| commit | a740608453525c7f7645df0740ee8267b43a779b (patch) | |
| tree | 0f9c04f2bce2058e86571e7070b74c60d7feda31 /src | |
| parent | afbac35bba832431f19cb0934b6c0d7ba9a7f9a7 (diff) | |
| download | emacs-a740608453525c7f7645df0740ee8267b43a779b.tar.gz emacs-a740608453525c7f7645df0740ee8267b43a779b.zip | |
Fix segfault in composite.c
* src/composite.c (find_automatic_composition): Don't use
narrowed_begv if it's zero. This avoids segfault in
BACKWARD_CHAR, since zero is not a valid buffer position.
Diffstat (limited to 'src')
| -rw-r--r-- | src/composite.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/composite.c b/src/composite.c index d8998b5a1f3..4f7b4b0a2c7 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1590,7 +1590,7 @@ find_automatic_composition (ptrdiff_t pos, ptrdiff_t limit, ptrdiff_t backlim, | |||
| 1590 | /* In buffers with very long lines, this function becomes very | 1590 | /* In buffers with very long lines, this function becomes very |
| 1591 | slow. Pretend that the buffer is narrowed to make it fast. */ | 1591 | slow. Pretend that the buffer is narrowed to make it fast. */ |
| 1592 | narrowed_begv = get_narrowed_begv (w); | 1592 | narrowed_begv = get_narrowed_begv (w); |
| 1593 | if (pos > narrowed_begv) | 1593 | if (narrowed_begv && pos > narrowed_begv) |
| 1594 | head = narrowed_begv; | 1594 | head = narrowed_begv; |
| 1595 | cur.pos_byte = CHAR_TO_BYTE (cur.pos); | 1595 | cur.pos_byte = CHAR_TO_BYTE (cur.pos); |
| 1596 | cur.p = BYTE_POS_ADDR (cur.pos_byte); | 1596 | cur.p = BYTE_POS_ADDR (cur.pos_byte); |