python-nginx
python-nginx copied to clipboard
Regexp issue with lot of spaces in the end of config
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