]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
always initialize output buffer. Fixes #4816
authorAlan T. DeKok <aland@freeradius.org>
Thu, 24 Nov 2022 13:14:42 +0000 (08:14 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 24 Nov 2022 20:06:15 +0000 (15:06 -0500)
src/lib/util/dict_print.c

index b7d6b3aaeb426fb08071391a4ce2483ede11f67c..71f9cc7b18dc4f47a9c881ad1b5f65005fc6ffa0 100644 (file)
@@ -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);
 }