Skip to content

Commit 6999822

Browse files
add bounds checks to highlight ranges
1 parent 27cd248 commit 6999822

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

packages/web/src/app/[domain]/browse/[...path]/components/pureCodePreviewPanel.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ export const PureCodePreviewPanel = ({
114114
const doc = editorRef.state.doc;
115115
const { start, end } = highlightRange;
116116

117+
if (start.lineNumber > doc.lines || end.lineNumber > doc.lines) {
118+
console.warn(`Highlight range is out of bounds: start.lineNumber=${start.lineNumber}, end.lineNumber=${end.lineNumber}, doc.lines=${doc.lines}`);
119+
return;
120+
}
121+
117122
const from = doc.line(start.lineNumber).from;
118123
const to = doc.line(end.lineNumber).to;
119124
const selection = EditorSelection.range(from, to);

packages/web/src/app/[domain]/browse/[...path]/components/rangeHighlightingExtension.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ export const rangeHighlightingExtension = (range: BrowseHighlightRange) => State
1616
create(state) {
1717
const { start, end } = range;
1818

19+
if (start.lineNumber > state.doc.lines || end.lineNumber > state.doc.lines) {
20+
console.warn(`Highlight range is out of bounds: start.lineNumber=${start.lineNumber}, end.lineNumber=${end.lineNumber}, doc.lines=${state.doc.lines}`);
21+
return Decoration.none;
22+
}
23+
1924
if ('column' in start && 'column' in end) {
2025
const from = state.doc.line(start.lineNumber).from + start.column - 1;
2126
const to = state.doc.line(end.lineNumber).from + end.column - 1;

0 commit comments

Comments
 (0)