]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
follow references if they exist
authorAlan T. DeKok <aland@freeradius.org>
Wed, 25 Nov 2020 21:10:00 +0000 (16:10 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 26 Nov 2020 17:18:41 +0000 (10:18 -0700)
src/lib/util/dict_util.c

index 1ec8e569d87de357c3746ff91d2981f4e29033dc..2dffa09d68a18c8e697c1012d2a5a64f2e531e23 100644 (file)
@@ -1695,7 +1695,7 @@ ssize_t fr_dict_oid_component(fr_dict_attr_err_t *err,
 {
        uint32_t                num = 0;
        fr_sbuff_parse_error_t  sberr;
-       fr_dict_attr_t const    *child;
+       fr_dict_attr_t const    *child, *ref;
        fr_sbuff_t              our_in = FR_SBUFF_NO_ADVANCE(in);
 
        if (err) *err = FR_DICT_ATTR_OK;
@@ -1704,6 +1704,8 @@ ssize_t fr_dict_oid_component(fr_dict_attr_err_t *err,
 
        switch (parent->type) {
        case FR_TYPE_STRUCTURAL:
+               ref = fr_dict_attr_ref(parent);
+               if (ref) parent = ref;
                break;
 
        default: