Lisp reader undefined behaviour excision
* src/lread.c (read_bool_vector, skip_lazy_string): Replace `|` with `||` to explicitly introduce sequence points since the variables, `length` and `nskip`, are mutated more than once. The `|` was just a weak attempt at micro-optimisation in any case; sorry about that.
This commit is contained in:
parent
717f847728
commit
9b9b39a2d8
1 changed files with 2 additions and 2 deletions
|
@ -3375,7 +3375,7 @@ read_bool_vector (Lisp_Object readcharfun)
|
|||
break;
|
||||
}
|
||||
if (INT_MULTIPLY_WRAPV (length, 10, &length)
|
||||
| INT_ADD_WRAPV (length, c - '0', &length))
|
||||
|| INT_ADD_WRAPV (length, c - '0', &length))
|
||||
invalid_syntax ("#&", readcharfun);
|
||||
}
|
||||
|
||||
|
@ -3421,7 +3421,7 @@ skip_lazy_string (Lisp_Object readcharfun)
|
|||
break;
|
||||
}
|
||||
if (INT_MULTIPLY_WRAPV (nskip, 10, &nskip)
|
||||
| INT_ADD_WRAPV (nskip, c - '0', &nskip))
|
||||
|| INT_ADD_WRAPV (nskip, c - '0', &nskip))
|
||||
invalid_syntax ("#@", readcharfun);
|
||||
digits++;
|
||||
if (digits == 2 && nskip == 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue