Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Oct 2010 16:28:55 GMT
From:      Jeremy Huddleston <jeremyhu@apple.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   standards/151316: lib/libc/string/strerror.c r1.9 breaks POSIX
Message-ID:  <201010081628.o98GStim089802@www.freebsd.org>
Resent-Message-ID: <201010081630.o98GU6oB042682@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         151316
>Category:       standards
>Synopsis:       lib/libc/string/strerror.c r1.9 breaks POSIX
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-standards
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 08 16:30:06 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Jeremy Huddleston
>Release:        trunk
>Organization:
Apple Inc
>Environment:
NA
>Description:
r1.9 of strerror.c did the following (from the changeslog)

strerror()'s semantics have changed slightly such that an argument of
0 is now considered invalid and errno is set to EINVAL.

This introduces a regression in SUS conformance.


>How-To-Repeat:

>Fix:
In strerror.c's strerror_r
-	if (errnum < 1 || errnum >= sys_nerr) {
+	if (errnum < 0 || errnum >= sys_nerr) {

And here's a man page change:

@@ -110,7 +118,7 @@
 .Er EINVAL
 as a warning.
 Error numbers recognized by this implementation fall in
-the range 0 <
+the range 0 <=
 .Fa errnum
 <
 .Fa sys_nerr .


>Release-Note:
>Audit-Trail:
>Unformatted:



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