]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add dbuff macro which initializes output buffers
authorAlan T. DeKok <aland@freeradius.org>
Thu, 29 Aug 2024 14:02:39 +0000 (10:02 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 29 Aug 2024 14:03:26 +0000 (10:03 -0400)
and use it to quiet the compiler.

src/lib/server/tmpl_tokenize.c
src/lib/util/dbuff.h

index 092c1f28721f0e305d336e00b3ee487955e4ac4c..1de1861792ab1723e6365928ff6a3bcbf1afa52e 100644 (file)
@@ -2740,7 +2740,7 @@ static ssize_t tmpl_afrom_ether_substr(TALLOC_CTX *ctx, tmpl_t **out, fr_sbuff_t
        fr_value_box_t          *vb;
        fr_sbuff_parse_error_t  err;
 
-       fr_dbuff_init(&dbuff, buff, sizeof(buff));
+       FR_DBUFF_INIT(&dbuff, buff, sizeof(buff));
 
        fr_base16_decode(&err, &dbuff, &our_in, true);
        if (err != FR_SBUFF_PARSE_OK) return 0;
index a23e9485252fc865dc48a3df535ca9046222481f..eaacc6d06b3f28dd8a6bac6667b56e9aafb991c0 100644 (file)
@@ -374,6 +374,11 @@ _fr_dbuff_init(_out, \
 DIAG_ON(maybe-uninitialized)
 #endif
 
+#define FR_DBUFF_INIT(_out, _start, _len_or_end) do { \
+       fr_dbuff_init(_out, _start, _len_or_end); \
+       *(unsigned char *) _start = '\0'; \
+  } while (0)
+
 size_t _fr_dbuff_extend_talloc(fr_dbuff_t *dbuff, size_t extension);
 
 int    fr_dbuff_trim_talloc(fr_dbuff_t *dbuff, size_t len);