summaryrefslogtreecommitdiff
path: root/src/lread.c
diff options
context:
space:
mode:
authorBarry O'Reilly <gundaetiapo@gmail.com>2013-09-25 23:46:47 -0400
committerBarry O'Reilly <gundaetiapo@gmail.com>2013-09-25 23:46:47 -0400
commitba355de014b75ed104da4777f909db70d62f2357 (patch)
treedab161a69cb4e4dc54e07ac1d465bf39c8aad475 /src/lread.c
parent3958758036f64a1c93728ab0a2cb9ea872c59e35 (diff)
downloademacs-ba355de014b75ed104da4777f909db70d62f2357.tar.gz
Signal error when reading an empty byte-code object (Bug#15405)
* lread.c (read1): signal error * alloc.c (make_byte_code): eassert header size (sweep_vectors): change an int to size_t
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lread.c b/src/lread.c
index 017dfcb11a5..fe2b92a34b3 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2597,7 +2597,10 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
build them using function calls. */
Lisp_Object tmp;
tmp = read_vector (readcharfun, 1);
- make_byte_code (XVECTOR (tmp));
+ struct Lisp_Vector* vec = XVECTOR (tmp);
+ if (vec->header.size==0)
+ invalid_syntax ("Empty byte-code object");
+ make_byte_code (vec);
return tmp;
}
if (c == '(')