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>
This commit is contained in:
parent
47ceb96e13
commit
894ac2d70d
@ -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';
|
||||
|
@ -149,7 +149,9 @@ event_scan (FILE *f, struct tm start, int id, char *note)
|
||||
localtime (&t);
|
||||
|
||||
/* Read the event description */
|
||||
fgets (buf, sizeof buf, f);
|
||||
if (!fgets (buf, sizeof buf, f))
|
||||
return NULL;
|
||||
|
||||
nl = strchr (buf, '\n');
|
||||
if (nl)
|
||||
{
|
||||
|
@ -374,7 +374,9 @@ recur_apoint_scan (FILE *f, struct tm start, struct tm end, char type,
|
||||
time_t tstart, tend, tuntil;
|
||||
|
||||
/* Read the appointment description */
|
||||
fgets (buf, sizeof buf, f);
|
||||
if (!fgets (buf, sizeof buf, f))
|
||||
return NULL;
|
||||
|
||||
nl = strchr (buf, '\n');
|
||||
if (nl)
|
||||
{
|
||||
@ -419,7 +421,9 @@ recur_event_scan (FILE *f, struct tm start, int id, char type, int freq,
|
||||
time_t tstart, tuntil;
|
||||
|
||||
/* Read the event description */
|
||||
fgets (buf, sizeof buf, f);
|
||||
if (!fgets (buf, sizeof buf, f))
|
||||
return NULL;
|
||||
|
||||
nl = strchr (buf, '\n');
|
||||
if (nl)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user