diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2020-10-10 00:01:46 -0400 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2020-10-11 09:59:37 -0400 |
commit | d25b9c0f373a169709ec1a2c3a53ee807a2bb083 (patch) | |
tree | 42b63f9c8fd2b714f04d69c96743a76d703ad9fe | |
parent | 5f47194b3b5fc16b3fbda04a8d31f0a1c0713330 (diff) | |
download | calcurse-d25b9c0f373a169709ec1a2c3a53ee807a2bb083.tar.gz calcurse-d25b9c0f373a169709ec1a2c3a53ee807a2bb083.zip |
Use dynamically allocated string in struct io_file
Avoid using fixed-size buffers and strncpy().
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
-rw-r--r-- | src/calcurse.h | 2 | ||||
-rw-r--r-- | src/io.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/calcurse.h b/src/calcurse.h index 7f03b68..763264d 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -510,7 +510,7 @@ struct notify_app { struct io_file { FILE *fd; - char name[BUFSIZ]; + char *name; }; /* Available keys. */ @@ -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); } |