Module Name:    src
Committed By:   martin
Date:           Mon Oct 26 20:18:33 UTC 2020

Modified Files:
        src/usr.sbin/sysinst: util.c

Log Message:
PR 55752: relax an assertion, the first getvfsstat() call may overestimate
the file systems visible to us.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/usr.sbin/sysinst/util.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/sysinst/util.c
diff -u src/usr.sbin/sysinst/util.c:1.50 src/usr.sbin/sysinst/util.c:1.51
--- src/usr.sbin/sysinst/util.c:1.50	Sun Oct 25 08:50:32 2020
+++ src/usr.sbin/sysinst/util.c	Mon Oct 26 20:18:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: util.c,v 1.50 2020/10/25 08:50:32 martin Exp $	*/
+/*	$NetBSD: util.c,v 1.51 2020/10/26 20:18:33 martin Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -515,7 +515,7 @@ static int
 get_available_cds(void)
 {
 	struct get_available_cds_state data;
-	int n, __diagused e;
+	int n, m;
 
 	memset(&data, 0, sizeof data);
 	data.info = cds;
@@ -523,10 +523,10 @@ get_available_cds(void)
 	n = getvfsstat(NULL, 0, ST_NOWAIT);
 	if (n > 0) {
 		data.mounted = calloc(n, sizeof(*data.mounted));
-		e = getvfsstat(data.mounted, n*sizeof(*data.mounted),
+		m = getvfsstat(data.mounted, n*sizeof(*data.mounted),
 		    ST_NOWAIT);
-		assert(e == n);
-		data.num_mounted = n;
+		assert(m >= 0 && m <= n);
+		data.num_mounted = m;
 	}
 
 	enumerate_disks(&data, get_available_cds_helper);

Reply via email to