]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Remove over restrictive checks on array index contents
authorNick Porter <nick@portercomputing.co.uk>
Wed, 1 Oct 2025 13:43:34 +0000 (14:43 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 1 Oct 2025 13:43:34 +0000 (14:43 +0100)
This reported incorrect errors - such as when an attribute is used as an
array index.

Invalid array indexes (e.g. undefined attributes or invalid data types)
are caught during policy compilation.

src/lib/server/tmpl_tokenize.c

index 89d829788ad86caa06e1b143e42fc0abefdc4e1b..e0a8bebd9fdf71efe3306ea85c5e3c8f697d3289 100644 (file)
@@ -5689,7 +5689,7 @@ ssize_t tmpl_preparse(char const **out, size_t *outlen, char const *in, size_t i
                                if ((*p == '#') || (*p == '*') || (*p == 'n')) {
                                        p++;
 
-                               } else if (*p == '(') {
+                               } else {
                                        ssize_t slen;
                                        bool eol = false;
 
@@ -5700,18 +5700,6 @@ ssize_t tmpl_preparse(char const **out, size_t *outlen, char const *in, size_t i
                                        }
                                        p += slen;
                                        continue;
-
-                               } else {
-                                       /*
-                                        *      Allow numbers as array indexes
-                                        */
-                                       while ((*p >= '0') && (*p <= '9')) {
-                                               p++;
-                                       }
-
-                                       if (*p != ']') {
-                                               return_P("Array index is not an integer");
-                                       }
                                }
 
                                if (*p == ']') {