]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
check for end _before_ dereferencing pointers
authorAlan T. DeKok <aland@freeradius.org>
Sun, 4 Oct 2020 14:46:33 +0000 (10:46 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 4 Oct 2020 14:46:33 +0000 (10:46 -0400)
src/lib/util/dict_util.c

index 4c089e50e469941df9c8abde67e34b8767974b5e..35125594c01c473c3f5ea8cf66c0096672bf4e75 100644 (file)
@@ -2907,7 +2907,7 @@ ssize_t fr_dict_valid_name(char const *name, ssize_t len)
         */
        if ((len > 5) && (memcmp(name, "Attr-", 5) == 0)) unknown = true;
 
-       do {
+       while (p < end) {
                if ((*p == '.') && unknown) p++;
 
                if (!fr_dict_attr_allowed_chars[(uint8_t)*p]) {
@@ -2917,7 +2917,7 @@ ssize_t fr_dict_valid_name(char const *name, ssize_t len)
                        return -(p - name);
                }
                p++;
-       } while (p < end);
+       }
 
        return len;
 }