From: Alan T. DeKok Date: Thu, 19 Jan 2017 22:31:31 +0000 (-0500) Subject: don't re-define known attributes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ace93f82666940f95a2e04436e8e29f3440d2c73;p=thirdparty%2Ffreeradius-server.git don't re-define known attributes --- diff --git a/src/lib/dict.c b/src/lib/dict.c index 1be204bad60..f55d6626b57 100644 --- a/src/lib/dict.c +++ b/src/lib/dict.c @@ -2787,6 +2787,12 @@ fr_dict_attr_t const *fr_dict_unknown_add(fr_dict_t *dict, fr_dict_attr_t const */ if (old->type == PW_TYPE_VENDOR) if (fr_dict_vendor_add(dict, old->name, old->attr) < 0) return NULL; + /* + * Look up the attribute. If it's already defined, don't re-define it. + */ + da = fr_dict_attr_child_by_num(parent, old->attr); + if (da) return old; + if (fr_dict_attr_add(dict, old->parent, old->name, old->attr, old->type, flags) < 0) return NULL; da = fr_dict_attr_child_by_num(parent, old->attr);