From: Alan T. DeKok Date: Wed, 4 Mar 2026 22:05:46 +0000 (-0500) Subject: just use sprintf to match the rest of the code X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8944888658f7db230c045bbef7e3bb669e0bd958;p=thirdparty%2Ffreeradius-server.git just use sprintf to match the rest of the code and other minor tweaks --- diff --git a/src/lib/server/util.c b/src/lib/server/util.c index 3512b1d4fba..359d4e3f187 100644 --- a/src/lib/server/util.c +++ b/src/lib/server/util.c @@ -178,15 +178,15 @@ ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen, switch (utf8_len) { case 2: - snprintf(out, freespace, "-%x-%x", (uint8_t)in[0], (uint8_t)in[1]); + snprintf(out, freespace, "-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1]); break; case 3: - snprintf(out, freespace, "-%x-%x-%x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2]); + snprintf(out, freespace, "-%02x-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2]); break; case 4: - snprintf(out, freespace, "-%x-%x-%x-%x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2], (uint8_t)in[3]); + snprintf(out, freespace, "-%02x-%02x-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2], (uint8_t)in[3]); break; } @@ -225,12 +225,11 @@ ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen, } /* - * Unsafe chars + * Unsafe chars get escaped as -XX. */ - *out++ = '-'; - fr_base16_encode(&FR_SBUFF_OUT(out, freespace), &FR_DBUFF_TMP((uint8_t const *)in, 1)); + snprintf(out, freespace, "-%02x", (uint8_t) in[0]); in++; - out += 2; + out += 3; freespace -= 3; } *out = '\0';