]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
set a default type size and length for unknown attributes
authorAlan T. DeKok <aland@freeradius.org>
Thu, 14 Sep 2023 00:44:54 +0000 (20:44 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 14 Sep 2023 13:59:21 +0000 (09:59 -0400)
Which lets us create unknown vendors

src/lib/util/dict_unknown.c

index 3695c58539ebd40f4f331aa5eb2a42cbbccaafe9..3361450582be513b441fd3ba50af5958f4d5596f 100644 (file)
@@ -239,6 +239,9 @@ fr_dict_attr_t *fr_dict_unknown_afrom_da(TALLOC_CTX *ctx, fr_dict_attr_t const *
         */
        switch (type) {
        case FR_TYPE_VENDOR:
+               fr_assert(da->flags.type_size != 0);
+               break;
+
        case FR_TYPE_TLV:
        case FR_TYPE_VSA:
                break;
@@ -398,6 +401,8 @@ fr_slen_t fr_dict_unknown_afrom_oid_substr(TALLOC_CTX *ctx,
        fr_dict_attr_flags_t    flags = {
                                        .is_unknown = true,
                                        .is_raw = true,
+                                       .type_size = parent->dict->root->flags.type_size,
+                                       .length = parent->dict->root->flags.length,
                                };
 
        *out = NULL;