Use dynamically allocated string in struct io_file

Avoid using fixed-size buffers and strncpy().

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lukas Fleischer 2020-10-10 00:01:46 -04:00
parent 5f47194b3b
commit d25b9c0f37
2 changed files with 3 additions and 2 deletions

View File

@ -510,7 +510,7 @@ struct notify_app {
struct io_file {
FILE *fd;
char name[BUFSIZ];
char *name;
};
/* Available keys. */

View File

@ -1396,7 +1396,7 @@ struct io_file *io_log_init(void)
ERROR_MSG(_("Warning: could not create temporary log file, Aborting..."));
goto error;
}
strncpy(log->name, logname, sizeof(log->name));
log->name = mem_strdup(logname);
log->fd = fopen(log->name, "w");
if (log->fd == NULL) {
ERROR_MSG(_("Warning: could not open temporary log file, Aborting..."));
@ -1446,6 +1446,7 @@ void io_log_free(struct io_file *log)
EXIT_IF(unlink(log->name) != 0,
_("Warning: could not erase temporary log file %s, Aborting..."),
log->name);
mem_free(log->name);
mem_free(log);
}