diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lread.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lread.c b/src/lread.c index 44d071e97e2..1f4a8c5e093 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1512,6 +1512,10 @@ read1 (readcharfun, pch, first_in_list) | |||
| 1512 | val = Fmake_bool_vector (length, Qnil); | 1512 | val = Fmake_bool_vector (length, Qnil); |
| 1513 | bcopy (XSTRING (tmp)->data, XBOOL_VECTOR (val)->data, | 1513 | bcopy (XSTRING (tmp)->data, XBOOL_VECTOR (val)->data, |
| 1514 | size_in_chars); | 1514 | size_in_chars); |
| 1515 | /* Clear the extraneous bits in the last byte. */ | ||
| 1516 | if (XINT (length) != size_in_chars * BITS_PER_CHAR) | ||
| 1517 | XBOOL_VECTOR (val)->data[size_in_chars - 1] | ||
| 1518 | &= (1 << (XINT (length) % BITS_PER_CHAR)) - 1; | ||
| 1515 | return val; | 1519 | return val; |
| 1516 | } | 1520 | } |
| 1517 | Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5), | 1521 | Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5), |