From 00385bf6f301ad040ade4805c067219786892909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kr=C3=B6ger?= Date: Fri, 25 Sep 2026 17:24:29 +0200 Subject: [PATCH] fix(serverdb): Ensure regular expression syntax is correct --- packages/serveradmin/serveradmin/serverdb/models.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/serveradmin/serveradmin/serverdb/models.py b/packages/serveradmin/serveradmin/serverdb/models.py index 882e2731..af8de8ec 100644 --- a/packages/serveradmin/serveradmin/serverdb/models.py +++ b/packages/serveradmin/serveradmin/serverdb/models.py @@ -67,7 +67,14 @@ RegexValidator(r"\A(\*\.)?([a-z0-9_]+(\.|-+))*[a-z0-9]+\Z", "Invalid hostname"), ] +def validate_regex_syntax(regex): + try: + re.compile(regex) + except re.error as e: + raise ValidationError('%(regex)s is not a valid regular expression' % {'regex': regex}) from e + REGEX_VALIDATORS = [ + validate_regex_syntax, RegexValidator( r"\A\\A.*\\Z\Z", 'You must wrap your pattern in "\\A" and "\\Z" to force line matching',