mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
fix unescaped HTML in the tree node title, closes #1127
This commit is contained in:
parent
263b65997c
commit
89356918f1
@ -64,8 +64,19 @@ function assertArguments() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const entityMap = {
|
||||||
|
'&': '&',
|
||||||
|
'<': '<',
|
||||||
|
'>': '>',
|
||||||
|
'"': '"',
|
||||||
|
"'": ''',
|
||||||
|
'/': '/',
|
||||||
|
'`': '`',
|
||||||
|
'=': '='
|
||||||
|
};
|
||||||
|
|
||||||
function escapeHtml(str) {
|
function escapeHtml(str) {
|
||||||
return $('<div/>').text(str).html();
|
return str.replace(/[&<>"'`=\/]/g, s => entityMap[s]);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function stopWatch(what, func) {
|
async function stopWatch(what, func) {
|
||||||
|
@ -862,13 +862,14 @@ export default class NoteTreeWidget extends TabAwareWidget {
|
|||||||
const branch = treeCache.getBranch(node.data.branchId);
|
const branch = treeCache.getBranch(node.data.branchId);
|
||||||
|
|
||||||
const isFolder = this.isFolder(note);
|
const isFolder = this.isFolder(note);
|
||||||
|
const title = (branch.prefix ? (branch.prefix + " - ") : "") + note.title;
|
||||||
|
|
||||||
node.data.isProtected = note.isProtected;
|
node.data.isProtected = note.isProtected;
|
||||||
node.data.noteType = note.type;
|
node.data.noteType = note.type;
|
||||||
node.folder = isFolder;
|
node.folder = isFolder;
|
||||||
node.icon = this.getIcon(note, isFolder);
|
node.icon = this.getIcon(note, isFolder);
|
||||||
node.extraClasses = this.getExtraClasses(note);
|
node.extraClasses = this.getExtraClasses(note);
|
||||||
node.title = (branch.prefix ? (branch.prefix + " - ") : "") + note.title;
|
node.title = utils.escapeHtml(title);
|
||||||
|
|
||||||
if (node.isExpanded() !== branch.isExpanded) {
|
if (node.isExpanded() !== branch.isExpanded) {
|
||||||
node.setExpanded(branch.isExpanded, {noEvents: true});
|
node.setExpanded(branch.isExpanded, {noEvents: true});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user