1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

Avoid assertion violations in compact_font_cache_entry

* src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
avoid assertion violation in ASIZE.  (Bug#22263)
This commit is contained in:
Eli Zaretskii 2015-12-29 20:07:23 +02:00
parent 88e2de2381
commit 57bd9a35ef

View File

@ -5346,7 +5346,10 @@ compact_font_cache_entry (Lisp_Object entry)
/* Consider OBJ if it is (font-spec . [font-entity font-entity ...]). */
if (CONSP (obj) && GC_FONT_SPEC_P (XCAR (obj))
&& !VECTOR_MARKED_P (GC_XFONT_SPEC (XCAR (obj)))
&& VECTORP (XCDR (obj)))
/* Don't use VECTORP here, as that calls ASIZE, which could
hit assertion violation during GC. */
&& (VECTORLIKEP (XCDR (obj))
&& ! (gc_asize (XCDR (obj)) & PSEUDOVECTOR_FLAG)))
{
ptrdiff_t i, size = gc_asize (XCDR (obj));
Lisp_Object obj_cdr = XCDR (obj);