svn commit: r350020 - head/sbin/camcontrol

Warner Losh imp at FreeBSD.org
Mon Jul 15 23:43:38 UTC 2019


Author: imp
Date: Mon Jul 15 23:43:38 2019
New Revision: 350020
URL: https://svnweb.freebsd.org/changeset/base/350020

Log:
  Use a different approach to range check.
  
  gcc hates dt < CC_DT_NONE since it can never be true when dt is an unsigned
  type. Since that's a compiler choice and may be affected by weird stuff, instead
  use (unsigned)dt > CC_DT_UNKNOWN to test for bounds error since that will work
  regardless of the signedness of dt.

Modified:
  head/sbin/camcontrol/camcontrol.c

Modified: head/sbin/camcontrol/camcontrol.c
==============================================================================
--- head/sbin/camcontrol/camcontrol.c	Mon Jul 15 23:41:00 2019	(r350019)
+++ head/sbin/camcontrol/camcontrol.c	Mon Jul 15 23:43:38 2019	(r350020)
@@ -676,7 +676,7 @@ getdevtype(struct cam_device *cam_dev)
 	 * Get the device type and report it, request no I/O be done to do this.
 	 */
 	error = get_device_type(cam_dev, -1, 0, 0, &dt);
-	if (error != 0 || dt < CC_DT_NONE || dt > CC_DT_UNKNOWN) {
+	if (error != 0 || (unsigned)dt > CC_DT_UNKNOWN) {
 		fprintf(stdout, "illegal\n");
 		return (1);
 	}


More information about the svn-src-all mailing list