소스 검색

HUE-5213 [metadata] Protect against matching terms with regexp syntax in frontend

Romain Rigaux 9 년 전
부모
커밋
efe534d873
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      desktop/core/src/desktop/templates/assist.mako

+ 1 - 1
desktop/core/src/desktop/templates/assist.mako

@@ -1936,7 +1936,7 @@ from metadata.conf import has_navigator
             query:  request.term,
             successCallback: function (data) {
               var values = [];
-              var facetPartialRe = new RegExp(partial, 'i');
+              var facetPartialRe = new RegExp(partial.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); // Protect for 'tags:*axe'
               if (isFacet && typeof data.facets !== 'undefined') { // Is typed facet, e.g. type: type:bla
                 var facetInQuery = facetMatch[1];
                 if (typeof data.facets[facetInQuery] !== 'undefined') {