From: Alan T. DeKok Date: Wed, 17 Dec 2025 09:41:50 +0000 (+0100) Subject: differentiate "number too large" from "unknown child" X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e9cb244af8d9c36d6af5f2259a200fe193ad19d;p=thirdparty%2Ffreeradius-server.git differentiate "number too large" from "unknown child" --- diff --git a/src/lib/util/dict_unknown.c b/src/lib/util/dict_unknown.c index b3f8fe232c9..ef823db109f 100644 --- a/src/lib/util/dict_unknown.c +++ b/src/lib/util/dict_unknown.c @@ -559,6 +559,17 @@ fr_slen_t fr_dict_attr_unknown_afrom_oid_substr(TALLOC_CTX *ctx, } break; + case FR_SBUFF_PARSE_ERROR_NUM_OVERFLOW: + { + fr_sbuff_marker_t c_start; + + fr_sbuff_marker(&c_start, &our_in); + fr_sbuff_adv_past_allowed(&our_in, FR_DICT_ATTR_MAX_NAME_LEN, fr_dict_attr_allowed_chars, NULL); + fr_strerror_printf("Invalid value \"%.*s\" - attribute numbers must be less than 2^32", + (int)fr_sbuff_behind(&c_start), fr_sbuff_current(&c_start)); + goto error; + } + default: { fr_sbuff_marker_t c_start;