Print this page
10323 cpcgen_parse_model() gets value check wrong

@@ -8,11 +8,11 @@
  * source.  A copy of the CDDL is also available via the Internet at
  * http://www.illumos.org/license/CDDL.
  */
 
 /*
- * Copyright (c) 2018, Joyent, Inc.
+ * Copyright (c) 2019, Joyent, Inc.
  */
 
 /*
  * This file transforms the perfmon data files into C files and manual pages.
  */

@@ -315,17 +315,17 @@
                     brand, bstr);
         }
 
         errno = 0;
         l = strtol(fam, &last, 16);
-        if (errno != 0 || l < 0 || l > UINT_MAX || *last != '\0') {
+        if (errno != 0 || l < 0 || l >= INT_MAX || *last != '\0') {
                 errx(EXIT_FAILURE, "failed to parse family \"%s\"", fam);
         }
         *family = (uint_t)l;
 
         l = strtol(mod, &last, 16);
-        if (errno != 0 || l < 0 || l > UINT_MAX || *last != '\0') {
+        if (errno != 0 || l < 0 || l >= INT_MAX || *last != '\0') {
                 errx(EXIT_FAILURE, "failed to parse model \"%s\"", mod);
         }
         *model = (uint_t)l;
 }