[Midnightbsd-cvs] src [10810] trunk/usr.sbin/diskinfo/diskinfo.c: sync

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Jun 10 14:09:58 EDT 2018


Revision: 10810
          http://svnweb.midnightbsd.org/src/?rev=10810
Author:   laffer1
Date:     2018-06-10 14:09:57 -0400 (Sun, 10 Jun 2018)
Log Message:
-----------
sync

Modified Paths:
--------------
    trunk/usr.sbin/diskinfo/diskinfo.c

Modified: trunk/usr.sbin/diskinfo/diskinfo.c
===================================================================
--- trunk/usr.sbin/diskinfo/diskinfo.c	2018-06-10 18:06:11 UTC (rev 10809)
+++ trunk/usr.sbin/diskinfo/diskinfo.c	2018-06-10 18:09:57 UTC (rev 10810)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /*-
  * Copyright (c) 2003 Poul-Henning Kamp
  * All rights reserved.
@@ -26,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $MidnightBSD$
+ * $FreeBSD: stable/10/usr.sbin/diskinfo/diskinfo.c 313103 2017-02-02 19:50:28Z asomers $
  */
 
 #include <stdio.h>
@@ -89,13 +90,12 @@
 	for (i = 0; i < argc; i++) {
 		fd = open(argv[i], O_RDONLY);
 		if (fd < 0 && errno == ENOENT && *argv[i] != '/') {
-			sprintf(buf, "%s%s", _PATH_DEV, argv[i]);
+			snprintf(buf, BUFSIZ, "%s%s", _PATH_DEV, argv[i]);
 			fd = open(buf, O_RDONLY);
 		}
 		if (fd < 0) {
 			warn("%s", argv[i]);
-			exitval = 1;
-			goto out;
+			exit(1);
 		}
 		error = ioctl(fd, DIOCGMEDIASIZE, &mediasize);
 		if (error) {
@@ -176,7 +176,8 @@
 {
 	int error;
 
-	lseek(fd, (off_t)blockno * sectorsize, SEEK_SET);
+	if (lseek(fd, (off_t)blockno * sectorsize, SEEK_SET) == -1)
+		err(1, "lseek");
 	error = read(fd, sector, sectorsize);
 	if (error == -1)
 		err(1, "read");
@@ -241,6 +242,9 @@
 	off_t b0, b1, sectorcount, step;
 
 	sectorcount = mediasize / sectorsize;
+	if (sectorcount <= 0)
+		return;		/* Can't test devices with no sectors */
+
 	step = 1ULL << (flsll(sectorcount / (4 * 200)) - 1);
 	if (step > 16384)
 		step = 16384;



More information about the Midnightbsd-cvs mailing list