forked from lix-project/lix
Merge pull request #5011 from Pamplemousse/fix_adjustLoc
libexpr: Fix read out-of-bound on the heap
This commit is contained in:
commit
77d5b37da3
|
@ -38,11 +38,13 @@ static void adjustLoc(YYLTYPE * loc, const char * s, size_t len)
|
||||||
loc->first_line = loc->last_line;
|
loc->first_line = loc->last_line;
|
||||||
loc->first_column = loc->last_column;
|
loc->first_column = loc->last_column;
|
||||||
|
|
||||||
while (len--) {
|
for (size_t i = 0; i < len; i++) {
|
||||||
switch (*s++) {
|
switch (*s++) {
|
||||||
case '\r':
|
case '\r':
|
||||||
if (*s == '\n') /* cr/lf */
|
if (*s == '\n') { /* cr/lf */
|
||||||
|
i++;
|
||||||
s++;
|
s++;
|
||||||
|
}
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case '\n':
|
case '\n':
|
||||||
++loc->last_line;
|
++loc->last_line;
|
||||||
|
|
Loading…
Reference in a new issue