From 87a93f24a5d4b20135e2985c15f2eb454a87f90f Mon Sep 17 00:00:00 2001 From: cperciva Date: Sun, 20 Nov 2005 00:50:30 +0000 Subject: [PATCH] An empty file does not have a positive number of lines. Make sure that the number of lines read is non-zero before in order to avoid dumping core. Reported by: Wojciech A. Koszek Pointy hat to: cperciva --- usr.sbin/portsnap/make_index/make_index.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.sbin/portsnap/make_index/make_index.c b/usr.sbin/portsnap/make_index/make_index.c index c02bba8b0deb..410b5b7cc45c 100644 --- a/usr.sbin/portsnap/make_index/make_index.c +++ b/usr.sbin/portsnap/make_index/make_index.c @@ -411,6 +411,7 @@ printport(PORT * p) /* * Algorithm: * 1. Suck in all the data, splitting into fields. + * 1a. If there are no ports, there is no INDEX. * 2. Sort the ports according to port directory. * 3. Using a binary search, translate each dependency from a * port directory name into a pointer to a port. @@ -469,6 +470,12 @@ main(int argc, char *argv[]) if (fclose(f) != 0) err(1, "fclose(%s)", argv[1]); + /* + * 1a. If there are no ports, there is no INDEX. + */ + if (pplen == 0) + return 0; + /* * 2. Sort the ports according to port directory. */