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:
parent
5f47194b3b
commit
d25b9c0f37
@ -510,7 +510,7 @@ struct notify_app {
|
|||||||
|
|
||||||
struct io_file {
|
struct io_file {
|
||||||
FILE *fd;
|
FILE *fd;
|
||||||
char name[BUFSIZ];
|
char *name;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Available keys. */
|
/* Available keys. */
|
||||||
|
3
src/io.c
3
src/io.c
@ -1396,7 +1396,7 @@ struct io_file *io_log_init(void)
|
|||||||
ERROR_MSG(_("Warning: could not create temporary log file, Aborting..."));
|
ERROR_MSG(_("Warning: could not create temporary log file, Aborting..."));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
strncpy(log->name, logname, sizeof(log->name));
|
log->name = mem_strdup(logname);
|
||||||
log->fd = fopen(log->name, "w");
|
log->fd = fopen(log->name, "w");
|
||||||
if (log->fd == NULL) {
|
if (log->fd == NULL) {
|
||||||
ERROR_MSG(_("Warning: could not open temporary log file, Aborting..."));
|
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,
|
EXIT_IF(unlink(log->name) != 0,
|
||||||
_("Warning: could not erase temporary log file %s, Aborting..."),
|
_("Warning: could not erase temporary log file %s, Aborting..."),
|
||||||
log->name);
|
log->name);
|
||||||
|
mem_free(log->name);
|
||||||
mem_free(log);
|
mem_free(log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user