mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +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) {
 | 
			
		||||
    return $('<div/>').text(str).html();
 | 
			
		||||
    return str.replace(/[&<>"'`=\/]/g, s => entityMap[s]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function stopWatch(what, func) {
 | 
			
		||||
 | 
			
		||||
@ -862,13 +862,14 @@ export default class NoteTreeWidget extends TabAwareWidget {
 | 
			
		||||
        const branch = treeCache.getBranch(node.data.branchId);
 | 
			
		||||
 | 
			
		||||
        const isFolder = this.isFolder(note);
 | 
			
		||||
        const title = (branch.prefix ? (branch.prefix + " - ") : "") + note.title;
 | 
			
		||||
 | 
			
		||||
        node.data.isProtected = note.isProtected;
 | 
			
		||||
        node.data.noteType = note.type;
 | 
			
		||||
        node.folder = isFolder;
 | 
			
		||||
        node.icon = this.getIcon(note, isFolder);
 | 
			
		||||
        node.extraClasses = this.getExtraClasses(note);
 | 
			
		||||
        node.title = (branch.prefix ? (branch.prefix + " - ") : "") + note.title;
 | 
			
		||||
        node.title = utils.escapeHtml(title);
 | 
			
		||||
 | 
			
		||||
        if (node.isExpanded() !== branch.isExpanded) {
 | 
			
		||||
            node.setExpanded(branch.isExpanded, {noEvents: true});
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user