Skip to content

Commit 8944888

Browse files
committed
just use sprintf to match the rest of the code
and other minor tweaks
1 parent 9d12c00 commit 8944888

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/lib/server/util.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,15 @@ ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen,
178178

179179
switch (utf8_len) {
180180
case 2:
181-
snprintf(out, freespace, "-%x-%x", (uint8_t)in[0], (uint8_t)in[1]);
181+
snprintf(out, freespace, "-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1]);
182182
break;
183183

184184
case 3:
185-
snprintf(out, freespace, "-%x-%x-%x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2]);
185+
snprintf(out, freespace, "-%02x-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2]);
186186
break;
187187

188188
case 4:
189-
snprintf(out, freespace, "-%x-%x-%x-%x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2], (uint8_t)in[3]);
189+
snprintf(out, freespace, "-%02x-%02x-%02x-%02x", (uint8_t)in[0], (uint8_t)in[1], (uint8_t)in[2], (uint8_t)in[3]);
190190
break;
191191
}
192192

@@ -225,12 +225,11 @@ ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen,
225225
}
226226

227227
/*
228-
* Unsafe chars
228+
* Unsafe chars get escaped as -XX.
229229
*/
230-
*out++ = '-';
231-
fr_base16_encode(&FR_SBUFF_OUT(out, freespace), &FR_DBUFF_TMP((uint8_t const *)in, 1));
230+
snprintf(out, freespace, "-%02x", (uint8_t) in[0]);
232231
in++;
233-
out += 2;
232+
out += 3;
234233
freespace -= 3;
235234
}
236235
*out = '\0';

0 commit comments

Comments
 (0)