(log_file): use strvisx rightly
This commit is contained in:
@@ -220,17 +220,16 @@ log_file(const char *timestr,
|
||||
{
|
||||
struct file_data *f = data;
|
||||
char *msgclean;
|
||||
size_t len = strlen(msg) + 1;
|
||||
size_t len = strlen(msg);
|
||||
if(f->keep_open == 0)
|
||||
f->fd = fopen(f->filename, f->mode);
|
||||
if(f->fd == NULL)
|
||||
return;
|
||||
/* make sure the log doesn't contain special chars */
|
||||
len *= 4;
|
||||
msgclean = malloc(len);
|
||||
msgclean = malloc((len + 1) * 4);
|
||||
if (msgclean == NULL)
|
||||
goto out;
|
||||
strvisx(rk_UNCONST(msg), msgclean, len, VIS_OCTAL);
|
||||
strvisx(msgclean, rk_UNCONST(msg), len, VIS_OCTAL);
|
||||
fprintf(f->fd, "%s %s\n", timestr, msgclean);
|
||||
free(msgclean);
|
||||
out:
|
||||
|
Reference in New Issue
Block a user