Merge branch 'osc8-scrollback-wraparound'

Closes #552
This commit is contained in:
Daniel Eklöf 2021-05-26 14:39:50 +02:00
commit 09f11b294d
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 10 additions and 2 deletions

View file

@ -133,6 +133,8 @@
* Regression where `<mod>+shift+tab` always produced `\E[Z` instead of
the correct `\E[27;<mod>;9~` sequence
(https://codeberg.org/dnkl/foot/issues/547).
* Crash when a line wrapping OSC-8 URI crossed the scrollback wrap
around (https://codeberg.org/dnkl/foot/issues/552).
### Security

View file

@ -3084,7 +3084,7 @@ term_osc8_close(struct terminal *term)
int r = start.row;
int start_col = start.col;
do {
while (true) {
int end_col = r == end.row ? end.col : term->cols - 1;
struct row *row = term->grid->rows[r];
@ -3121,7 +3121,13 @@ term_osc8_close(struct terminal *term)
}
#endif
start_col = 0;
} while (r++ != end.row);
if (r == end.row)
break;
r++;
r &= term->grid->num_rows - 1;
}
done:
free(term->vt.osc8.uri);