@@ -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