python-nginx icon indicating copy to clipboard operation
python-nginx copied to clipboard

Regexp issue with lot of spaces in the end of config

Open Shagrat opened this issue 4 years ago • 1 comments
trafficstars

Hello!

Noticed strange delays, or even and seemingly endless loop while parsing a bunch of config files. Was able to determine that

https://github.com/peakwinter/python-nginx/blob/20a848405e18d62309418399bcc6d1aebcb81156/nginx.py#L540-L554

in "loads" function (lines 540-554) takes an exponentially long time if the end of config file has lot's of spaces (starting from 18 it can take up to 5 seconds end each next space increases time more)

Sadly I'm not a regexp ninja so I can't fix it by myself and just started to clean end of a file with strip, but maybe this knowledge will help someone somehow.

python-nginx==1.5.6 Python 3.6.12 (default, Dec 1 2020, 13:45:56) [GCC 10.2.0] on linux

Example config file attached example.conf.txt

Shagrat avatar Jul 06 '21 19:07 Shagrat