Don't allow indexes larger than start node length

This commit is contained in:
Zixaphir 2013-08-13 15:34:39 -07:00
parent f4e8053783
commit 976f539c8c
3 changed files with 11 additions and 11 deletions

View File

@ -4438,7 +4438,7 @@
}); });
}, },
node: function() { node: function() {
var data, el, end, endNode, i, index, items, lIndex, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref; var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
if (this.isClone) { if (this.isClone) {
if (Conf['Embedding']) { if (Conf['Embedding']) {
@ -4484,10 +4484,10 @@
} }
range = Linkify.makeRange(node, endNode, index, length); range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) { if (link = Linkify.regString.exec(text = range.toString())) {
if (lIndex = link.index) { if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
range.setStart(node, lIndex + index); range.setStart(node, len);
text = text.slice(0, lIndex);
} }
text = text.slice(0, lIndex);
links.push([range, text]); links.push([range, text]);
} }
break; break;

View File

@ -4444,7 +4444,7 @@
}); });
}, },
node: function() { node: function() {
var data, el, end, endNode, i, index, items, lIndex, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref; var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
if (this.isClone) { if (this.isClone) {
if (Conf['Embedding']) { if (Conf['Embedding']) {
@ -4490,10 +4490,10 @@
} }
range = Linkify.makeRange(node, endNode, index, length); range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) { if (link = Linkify.regString.exec(text = range.toString())) {
if (lIndex = link.index) { if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
range.setStart(node, lIndex + index); range.setStart(node, len);
text = text.slice(0, lIndex);
} }
text = text.slice(0, lIndex);
links.push([range, text]); links.push([range, text]);
} }
break; break;

View File

@ -76,9 +76,9 @@ Linkify =
test.lastIndex = 0 if length is endNode.data.length test.lastIndex = 0 if length is endNode.data.length
range = Linkify.makeRange node, endNode, index, length range = Linkify.makeRange node, endNode, index, length
if link = Linkify.regString.exec text = range.toString() if link = Linkify.regString.exec text = range.toString()
if lIndex = link.index if (lIndex = link.index) and (len = lIndex + index) < node.data.length
range.setStart node, lIndex + index range.setStart node, len
text = text[...lIndex] text = text[...lIndex]
links.push [range, text] links.push [range, text]
break break