From: Alan T. DeKok Date: Thu, 24 Nov 2022 13:14:42 +0000 (-0500) Subject: always initialize output buffer. Fixes #4816 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d54842419695efd8eea1c82ddbc33a4fb7197f87;p=thirdparty%2Ffreeradius-server.git always initialize output buffer. Fixes #4816 --- diff --git a/src/lib/util/dict_print.c b/src/lib/util/dict_print.c index b7d6b3aaeb4..71f9cc7b18d 100644 --- a/src/lib/util/dict_print.c +++ b/src/lib/util/dict_print.c @@ -96,8 +96,16 @@ ssize_t fr_dict_attr_flags_print(fr_sbuff_t *out, fr_dict_t const *dict, fr_type fr_table_str_by_value(fr_time_precision_table, flags->flag_time_res, "?")); } + /* + * Remove trailing commas. + */ fr_sbuff_trim(&our_out, (bool[UINT8_MAX + 1]){ [','] = true }); + /* + * Ensure that the buffer is initialized. + */ + if (fr_sbuff_used(&our_out) == 0) FR_SBUFF_IN_CHAR_RETURN(&our_out, '\0'); + FR_SBUFF_SET_RETURN(out, &our_out); }