diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-07-08 13:24:25 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-07-08 13:24:25 +0200 |
commit | a32f6b008aafedd289a79947d08d304e9aaad57a (patch) | |
tree | eb4a67a8bbdcff7d8e03e1fe2c551667c94c00ac | |
parent | 936d5f139f0450ab1d6af96b5d91a776483e0455 (diff) | |
download | calcurse-a32f6b008aafedd289a79947d08d304e9aaad57a.tar.gz calcurse-a32f6b008aafedd289a79947d08d304e9aaad57a.zip |
Make sure that tmppath is always NULL-terminated
Fixes GitHub issue #5.
Reported-by: dcb314
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
-rw-r--r-- | src/config.c | 4 | ||||
-rw-r--r-- | src/note.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/config.c b/src/config.c index da6b049..5eb526a 100644 --- a/src/config.c +++ b/src/config.c @@ -600,8 +600,8 @@ unsigned config_save(void) return 1; strncpy(tmppath, get_tempdir(), BUFSIZ); - strncat(tmppath, "/" CONF_PATH_NAME ".", - BUFSIZ - strlen(tmppath) - 1); + tmppath[BUFSIZ - 1] = '\0'; + strncat(tmppath, "/" CONF_PATH_NAME ".", BUFSIZ - strlen(tmppath) - 1); if ((tmpext = new_tempfile(tmppath, TMPEXTSIZ)) == NULL) return 0; strncat(tmppath, tmpext, BUFSIZ - strlen(tmppath) - 1); @@ -83,6 +83,7 @@ void edit_note(char **note, const char *editor) FILE *fp; strncpy(tmppath, get_tempdir(), BUFSIZ); + tmppath[BUFSIZ - 1] = '\0'; strncat(tmppath, "/calcurse-note.", BUFSIZ - strlen(tmppath) - 1); if ((tmpext = new_tempfile(tmppath, TMPEXTSIZ)) == NULL) return; |