mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #8224 from tk0miya/8172_napoleon_redos
Fix #8172: napoleon: Potential of regex denial of service in google style docs
This commit is contained in:
commit
a81c45367a
1
CHANGES
1
CHANGES
@ -33,6 +33,7 @@ Bugs fixed
|
|||||||
* #8190: autodoc: parsing error is raised if some extension replaces docstring
|
* #8190: autodoc: parsing error is raised if some extension replaces docstring
|
||||||
by string not ending with blank lines
|
by string not ending with blank lines
|
||||||
* #8192: napoleon: description is disappeared when it contains inline literals
|
* #8192: napoleon: description is disappeared when it contains inline literals
|
||||||
|
* #8172: napoleon: Potential of regex denial of service in google style docs
|
||||||
* #8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
|
* #8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
|
||||||
* #8093: The highlight warning has wrong location in some builders (LaTeX,
|
* #8093: The highlight warning has wrong location in some builders (LaTeX,
|
||||||
singlehtml and so on)
|
singlehtml and so on)
|
||||||
|
@ -31,7 +31,7 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
_directive_regex = re.compile(r'\.\. \S+::')
|
_directive_regex = re.compile(r'\.\. \S+::')
|
||||||
_google_section_regex = re.compile(r'^(\s|\w)+:\s*$')
|
_google_section_regex = re.compile(r'^(\s|\w)+:\s*$')
|
||||||
_google_typed_arg_regex = re.compile(r'\s*(.+?)\s*\(\s*(.*[^\s]+)\s*\)')
|
_google_typed_arg_regex = re.compile(r'(.+?)\(\s*(.*[^\s]+)\s*\)')
|
||||||
_numpy_section_regex = re.compile(r'^[=\-`:\'"~^_*+#<>]{2,}\s*$')
|
_numpy_section_regex = re.compile(r'^[=\-`:\'"~^_*+#<>]{2,}\s*$')
|
||||||
_single_colon_regex = re.compile(r'(?<!:):(?!:)')
|
_single_colon_regex = re.compile(r'(?<!:):(?!:)')
|
||||||
_xref_or_code_regex = re.compile(
|
_xref_or_code_regex = re.compile(
|
||||||
@ -254,7 +254,7 @@ class GoogleDocstring:
|
|||||||
if parse_type:
|
if parse_type:
|
||||||
match = _google_typed_arg_regex.match(before)
|
match = _google_typed_arg_regex.match(before)
|
||||||
if match:
|
if match:
|
||||||
_name = match.group(1)
|
_name = match.group(1).strip()
|
||||||
_type = match.group(2)
|
_type = match.group(2)
|
||||||
|
|
||||||
_name = self._escape_args_and_kwargs(_name)
|
_name = self._escape_args_and_kwargs(_name)
|
||||||
|
Loading…
Reference in New Issue
Block a user