]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
let's use name_len
authorAlan T. DeKok <aland@freeradius.org>
Fri, 14 Jan 2022 17:43:19 +0000 (12:43 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 14 Jan 2022 22:04:06 +0000 (17:04 -0500)
instead of walking off of the end of arrays

src/lib/util/dict_util.c

index df10c65d696038d35f5a97a05688114342931829..85913c9d218737369a2d0b3632f4ca5bd80ed47d 100644 (file)
@@ -229,9 +229,16 @@ static int8_t dict_enum_name_cmp(void const *one, void const *two)
 {
        fr_dict_enum_value_t const *a = one;
        fr_dict_enum_value_t const *b = two;
+       size_t len;
        int ret;
 
-       ret = strcasecmp(a->name, b->name);
+       if (a->name_len >= b->name_len) {
+               len = a->name_len;
+       } else {
+               len = b->name_len;
+       }
+
+       ret = strncasecmp(a->name, b->name, len);
        return CMP(ret, 0);
 }