[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 4a5653c: Avoid segfaults when some display vector i
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 4a5653c: Avoid segfaults when some display vector is an empty string |
Date: |
Tue, 27 Jun 2017 11:47:15 -0400 (EDT) |
branch: master
commit 4a5653cd2859308ada4bbf5ffc9fb9b283eef31a
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Avoid segfaults when some display vector is an empty string
* src/xdisp.c (next_element_from_display_vector): Don't try
accessing the dpvec[] array if its size is zero. (Bug#27504)
---
src/xdisp.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index 7848489..8bc5d81 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -7768,9 +7768,8 @@ next_element_from_display_vector (struct it *it)
/* KFS: This code used to check ip->dpvec[0] instead of the current element.
That seemed totally bogus - so I changed it... */
- gc = it->dpvec[it->current.dpvec_index];
-
- if (GLYPH_CODE_P (gc))
+ if (it->dpend - it->dpvec > 0 /* empty dpvec[] is invalid */
+ && (gc = it->dpvec[it->current.dpvec_index], GLYPH_CODE_P (gc)))
{
struct face *this_face, *prev_face, *next_face;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 4a5653c: Avoid segfaults when some display vector is an empty string,
Eli Zaretskii <=