svn commit: r324309 - head/sys/cddl/compat/opensolaris/kern

Andriy Gapon avg at FreeBSD.org
Thu Oct 5 12:25:19 UTC 2017


Author: avg
Date: Thu Oct  5 12:25:18 2017
New Revision: 324309
URL: https://svnweb.freebsd.org/changeset/base/324309

Log:
  remove heuristic error detection from ddi_strto*()
  
  Zero, <TYPE>_MIN and <TYPE>_MAX values can result from valid conversions.
  They don't necessarily imply any error.
  Since we do not have any reliable error signaling from libkern's strto*(),
  it's better to always assume success rather than to report an error when
  there is none.
  
  Reviewed by:	tsoome
  MFC after:	2 weeks
  Differential Revision: https://reviews.freebsd.org/D12565

Modified:
  head/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c

Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c
==============================================================================
--- head/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c	Thu Oct  5 12:19:55 2017	(r324308)
+++ head/sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c	Thu Oct  5 12:25:18 2017	(r324309)
@@ -41,10 +41,6 @@ ddi_strtol(const char *str, char **nptr, int base, lon
 {
 
 	*result = strtol(str, nptr, base);
-	if (*result == 0)
-		return (EINVAL);
-	else if (*result == LONG_MIN || *result == LONG_MAX)
-		return (ERANGE);
 	return (0);
 }
 
@@ -58,10 +54,6 @@ ddi_strtoul(const char *str, char **nptr, int base, un
 	}
 
 	*result = strtoul(str, nptr, base);
-	if (*result == 0)
-		return (EINVAL);
-	else if (*result == ULONG_MAX)
-		return (ERANGE);
 	return (0);
 }
 
@@ -70,10 +62,6 @@ ddi_strtoull(const char *str, char **nptr, int base, u
 {
 
 	*result = (unsigned long long)strtouq(str, nptr, base);
-	if (*result == 0)
-		return (EINVAL);
-	else if (*result == ULLONG_MAX)
-		return (ERANGE);
 	return (0);
 }
 


More information about the svn-src-head mailing list