Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Oct 2017 12:25:18 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324309 - head/sys/cddl/compat/opensolaris/kern
Message-ID:  <201710051225.v95CPIdM040070@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710051225.v95CPIdM040070>