From: Daniel Colascione Date: Tue, 20 Feb 2018 00:24:53 +0000 (-0800) Subject: Allow for padding in dump_object_start_pseudovector X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1b390066bce4af8d7c937ce1bcc69db461049710;p=emacs.git Allow for padding in dump_object_start_pseudovector --- diff --git a/src/pdumper.c b/src/pdumper.c index ec1af3cae56..e5da227d905 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -2546,10 +2546,11 @@ dump_object_start_pseudovector ( { const struct Lisp_Vector *in = (const struct Lisp_Vector *) in_hdr; struct Lisp_Vector *out = (struct Lisp_Vector *) out_hdr; + ptrdiff_t vec_size = vector_nbytes ((struct Lisp_Vector *) in); + eassert (vec_size >= out_size); + eassert (vec_size - out_size <= sizeof (EMACS_INT)); - eassert (vector_nbytes ((struct Lisp_Vector *) in) == out_size); - - dump_object_start (ctx, GCALIGNMENT, out, out_size); + dump_object_start (ctx, GCALIGNMENT, out, (dump_off) vec_size); DUMP_FIELD_COPY (out, in, header); ptrdiff_t size = in->header.size; eassert (size & PSEUDOVECTOR_FLAG);