+20011022
+ - (djm) Fix fd leak in loginrec.c (ro fd to lastlog was left open).
+ Report from Michal Zalewski <lcamtuf@coredump.cx>
+
20011021
- (tim) [configure.in] Clean up library testing. Add optional PATH to
--with-pcre, --with-zlib, and --with-tcp-wrappers. Based on
struct lastlog last;
int fd;
- if (lastlog_openseek(li, &fd, O_RDONLY)) {
- if (atomicio(read, fd, &last, sizeof(last)) != sizeof(last)) {
- log("lastlog_get_entry: Error reading from %s: %s",
- LASTLOG_FILE, strerror(errno));
- return 0;
- } else {
- lastlog_populate_entry(li, &last);
- return 1;
- }
- } else {
+ if (!lastlog_openseek(li, &fd, O_RDONLY))
+ return 0;
+
+ if (atomicio(read, fd, &last, sizeof(last)) != sizeof(last)) {
+ close(fd);
+ log("lastlog_get_entry: Error reading from %s: %s",
+ LASTLOG_FILE, strerror(errno));
return 0;
}
+
+ close(fd);
+
+ lastlog_populate_entry(li, &last);
+
+ return 1;
}
#endif /* USE_LASTLOG */