diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-02-17 16:49:35 +0100 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-02-18 13:04:21 +0100 |
commit | 894ac2d70dd2ab3a8db709409389cc1a83385eb5 (patch) | |
tree | 3141866abbb7c5c72f909aa5516f10dced1f7be1 /src/apoint.c | |
parent | 47ceb96e1356ce369931c127c33266e863e61c89 (diff) | |
download | calcurse-894ac2d70dd2ab3a8db709409389cc1a83385eb5.zip |
Trap fgets() failure in *_scan()
Ensure we don't read arbitrary data when fgets() returns a NULL string
(meaning that either the EOF is encountered or an error occurred). This
also fixes a couple of compiler warnings seen with "-Wunused-result".
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/apoint.c')
-rw-r--r-- | src/apoint.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/apoint.c b/src/apoint.c index 4796ae9..5813e42 100644 --- a/src/apoint.c +++ b/src/apoint.c @@ -443,7 +443,9 @@ apoint_scan (FILE *f, struct tm start, struct tm end, char state, char *note) localtime (&t); /* Read the appointment description */ - fgets (buf, sizeof buf, f); + if (!fgets (buf, sizeof buf, f)) + return NULL; + newline = strchr (buf, '\n'); if (newline) *newline = '\0'; |