Fix an instance of "Polynomial regular expression used on uncontrolled data".

This commit is contained in:
David Anson 2022-01-22 22:20:41 -08:00
parent 4b7caf2a5b
commit 96699459d1
4 changed files with 12 additions and 5 deletions

View file

@ -52,6 +52,9 @@ var emphasisMarkersRe = /[_*]/g;
// Regular expression for inline links and shortcut reference links
var linkRe = /(\[(?:[^[\]]|\[[^\]]*\])*\])(\(\S*\)|\[\S*\])?/g;
module.exports.linkRe = linkRe;
// Regular expression for empty inline links
module.exports.emptyLinkRe =
/(?:|(?<![^[]))\[(?:[^[\]]?(?:\[[^[\]]*\])?)*\]\((?:|#|<>)\)/;
// Regular expression for link reference definition lines
module.exports.linkReferenceRe = /^ {0,3}\[[^\]]+]:\s.*$/;
// All punctuation characters (normal and full-width)
@ -3878,8 +3881,7 @@ module.exports = {
"use strict";
// @ts-check
var _a = __webpack_require__(/*! ../helpers */ "../helpers/helpers.js"), addErrorContext = _a.addErrorContext, filterTokens = _a.filterTokens, rangeFromRegExp = _a.rangeFromRegExp;
var emptyLinkRe = /\[[^\]]*](?:\((?:#?|(?:<>))\))/;
var _a = __webpack_require__(/*! ../helpers */ "../helpers/helpers.js"), addErrorContext = _a.addErrorContext, emptyLinkRe = _a.emptyLinkRe, filterTokens = _a.filterTokens, rangeFromRegExp = _a.rangeFromRegExp;
module.exports = {
"names": ["MD042", "no-empty-links"],
"description": "No empty links",

View file

@ -30,6 +30,10 @@ const emphasisMarkersRe = /[_*]/g;
const linkRe = /(\[(?:[^[\]]|\[[^\]]*\])*\])(\(\S*\)|\[\S*\])?/g;
module.exports.linkRe = linkRe;
// Regular expression for empty inline links
module.exports.emptyLinkRe =
/(?:|(?<![^[]))\[(?:[^[\]]?(?:\[[^[\]]*\])?)*\]\((?:|#|<>)\)/;
// Regular expression for link reference definition lines
module.exports.linkReferenceRe = /^ {0,3}\[[^\]]+]:\s.*$/;

View file

@ -11,6 +11,9 @@
"url": "https://github.com/DavidAnson/markdownlint.git"
},
"bugs": "https://github.com/DavidAnson/markdownlint/issues",
"engines": {
"node": ">=12"
},
"keywords": [
"markdownlint",
"markdownlint-rule"

View file

@ -2,11 +2,9 @@
"use strict";
const { addErrorContext, filterTokens, rangeFromRegExp } =
const { addErrorContext, emptyLinkRe, filterTokens, rangeFromRegExp } =
require("../helpers");
const emptyLinkRe = /\[[^\]]*](?:\((?:#?|(?:<>))\))/;
module.exports = {
"names": [ "MD042", "no-empty-links" ],
"description": "No empty links",