mirror of
https://github.com/openpgpjs/openpgpjs.git
synced 2025-06-24 07:02:30 +00:00

Backtracking regexes have pathological worst-case performance when a long line contains a large amount of whitespace not followed by a newline, since the regex engine will attempt to match the regex at each whitespace character, read ahead to the non-whitespace non- newline, declare no match, and try again at the next whitespace. E.g. try running util.removeTrailingSpaces(new Array(1e6).join(' ') + 'a').length which would hang V8.