Plug FILE leak on read_schedule() parse error path

Leak introduced in initial commit 71320ed6, v4.3.10.
This commit is contained in:
Markus Armbruster 2011-10-29 14:47:02 +02:00
parent 6104d534e9
commit 881dd41626

View file

@ -63,7 +63,7 @@ int
read_schedule(char *fname, time_t sched[], int n, time_t t0, time_t anchor) read_schedule(char *fname, time_t sched[], int n, time_t t0, time_t anchor)
{ {
FILE *fp; FILE *fp;
int lno = 0; int ret, lno;
char buf[1024]; char buf[1024];
char *endp; char *endp;
@ -79,18 +79,21 @@ read_schedule(char *fname, time_t sched[], int n, time_t t0, time_t anchor)
fname = "<stdin>"; fname = "<stdin>";
} }
ret = lno = 0;
sched[0] = 0; sched[0] = 0;
while (fgets(buf, sizeof(buf), fp) != NULL) { while (fgets(buf, sizeof(buf), fp) != NULL) {
++lno; ++lno;
endp = strchr(buf, '#'); endp = strchr(buf, '#');
if (endp) if (endp)
*endp = 0; *endp = 0;
if (parse_schedule_line(buf, sched, n, t0, &anchor, fname, lno)) if (parse_schedule_line(buf, sched, n, t0, &anchor, fname, lno)) {
return -1; ret = -1;
break;
}
} }
fclose(fp); fclose(fp);
return 0; return ret;
} }
/* /*