From nobody@FreeBSD.org  Thu Nov 19 02:44:46 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3BDC5106566B
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 19 Nov 2009 02:44:46 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 2BAB08FC0C
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 19 Nov 2009 02:44:46 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nAJ2ijHM016513
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 19 Nov 2009 02:44:45 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id nAJ2ij5C016512;
	Thu, 19 Nov 2009 02:44:45 GMT
	(envelope-from nobody)
Message-Id: <200911190244.nAJ2ij5C016512@www.freebsd.org>
Date: Thu, 19 Nov 2009 02:44:45 GMT
From: Jeremy Huddleston <jeremyhu@apple.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: swab() with negative len should do nothing
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         140690
>Category:       kern
>Synopsis:       [libc] [patch] swab(3) with negative len should do nothing
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    eadler
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 19 02:50:01 UTC 2009
>Closed-Date:    Mon Mar 19 01:34:22 UTC 2012
>Last-Modified:  Mon Mar 19 01:34:22 UTC 2012
>Originator:     Jeremy Huddleston
>Release:        MAIN
>Organization:
Apple
>Environment:
NA
>Description:
src/lib/libc/string/swab.c has a bug when len < 0.  The "round to multiple of 8" for loop will still STEP with negative values.  This should not be the case.  Simple patch is attached.
>How-To-Repeat:

>Fix:
--- swab.c.bsdnew	2009-11-18 18:24:38.000000000 -0800
+++ swab.c	2009-11-18 18:40:17.000000000 -0800
@@ -45,6 +45,8 @@ swab(const void * __restrict from, void 
 	int n;
 	char *fp, *tp;
 
+	if (len <= 0)
+		return;
 	n = len >> 1;
 	fp = (char *)from;
 	tp = (char *)to;


>Release-Note:
>Audit-Trail:

From: Paul Procacci <pprocacci@datapipe.com>
To: <bug-followup@FreeBSD.org>, <jeremyhu@apple.com>
Cc:  
Subject: Re: kern/140690: [libc] [patch] swab(3) with negative len should
 do nothing
Date: Sat, 21 Nov 2009 03:18:48 -0600

 I'd like to add to this.
 
 As for the length argument.  Is there really ever a time it would have
 to be signed?
 
 If not, then I would suggest declaring the type as size_t and not
 ssize_t much like the read/write/etc syscalls.
 
 ~Paul
 
 This message may contain confidential or privileged information.  If you ar=
 e not the intended recipient, please advise us immediately and delete this =
 message.  See http://www.datapipe.com/emaildisclaimer.aspx for further info=
 rmation on confidentiality and the risks of non-secure electronic communica=
 tion. If you cannot access these links, please notify us by reply message a=
 nd we will send the contents to you.

From: Bruce Evans <brde@optusnet.com.au>
To: Paul Procacci <pprocacci@datapipe.com>
Cc: bug-followup@freebsd.org
Subject: Re: kern/140690: [libc] [patch] swab(3) with negative len should do
 nothing
Date: Sat, 21 Nov 2009 20:59:35 +1100 (EST)

 On Sat, 21 Nov 2009, Paul Procacci wrote:
 
 > I'd like to add to this.
 >
 > As for the length argument.  Is there really ever a time it would have
 > to be signed?
 >
 > If not, then I would suggest declaring the type as size_t and not
 > ssize_t much like the read/write/etc syscalls.
 
 The type should be unsigned (size_t), and was unsigned (size_t) in
 BSD, but it is broken in POSIX (ssize_t), and FreeBSD changed the API
 to be not even bug for bug compatible with POSIX in 2004 (since POSIX
 requires nothing to be done when the length is negative, like the patch
 in the PR implements).
 
 The type was implicit int in V7, but BSD changed it to size_t in Net/2
 or earlier; thus the type and the the code were correct in all versions
 of FreeBSD between 1993 and 2004.
 
 Bruce

From: Jeremy Huddleston <jeremyhu@apple.com>
To: Paul Procacci <pprocacci@datapipe.com>
Cc: bug-followup@FreeBSD.org
Subject: Re: kern/140690: [libc] [patch] swab(3) with negative len should do nothing
Date: Sat, 21 Nov 2009 09:37:00 -0800

 --Apple-Mail-2--802537417
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/plain;
 	charset=us-ascii
 
 
 On Nov 21, 2009, at 01:18, Paul Procacci wrote:
 
 > I'd like to add to this.
 >=20
 > As for the length argument.  Is there really ever a time it would have
 > to be signed?
 
 Yes, when passing in a negative value resulting from a subtraction by =
 the caller.
 
 > If not, then I would suggest declaring the type as size_t and not
 > ssize_t much like the read/write/etc syscalls.
 
 It was changed to ssize_t initially to combat the bug I'm reporting, but =
 the fix itself was incomplete.
 
 
 --Apple-Mail-2--802537417
 Content-Disposition: attachment;
 	filename=smime.p7s
 Content-Type: application/pkcs7-signature;
 	name=smime.p7s
 Content-Transfer-Encoding: base64
 
 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJtzCCAz8w
 ggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0
 ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcx
 KDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0
 ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxA
 dGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpB
 MSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUg
 UGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
 xKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7d
 yfArhVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/
 p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDow
 OKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3Js
 MAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgw
 DQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A
 9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYI
 Tq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8wggZwMIIF2aADAgECAhBfIA3CIvCJAyf8
 rsNvgxtuMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29u
 c3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNz
 dWluZyBDQTAeFw0wOTA5MTQyMTM2MjdaFw0xMDA5MTQyMTM2MjdaMIICcDEfMB0GA1UEAxMWVGhh
 d3RlIEZyZWVtYWlsIE1lbWJlcjEkMCIGCSqGSIb3DQEJARYVamVyZW15aHVAYmVya2VsZXkuZWR1
 MSswKQYJKoZIhvcNAQkBFhxqZXJlbXlodUB1Y2xpbmsuYmVya2VsZXkuZWR1MSwwKgYJKoZIhvcN
 AQkBFh1qZXJlbXlodUB1Y2xpbms0LmJlcmtlbGV5LmVkdTEnMCUGCSqGSIb3DQEJARYYamVyZW15
 aHVAY3MuYmVya2VsZXkuZWR1MSkwJwYJKoZIhvcNAQkBFhpqZXJlbXlAdXBlLmNzLmJlcmtlbGV5
 LmVkdTEpMCcGCSqGSIb3DQEJARYaamVyZW15aHVAZWVjcy5iZXJrZWxleS5lZHUxJzAlBgkqhkiG
 9w0BCQEWGGplcmVteWh1QGZyZWVkZXNrdG9wLm9yZzEkMCIGCSqGSIb3DQEJARYVamVyZW15aHVA
 bWFjcG9ydHMub3JnMSUwIwYJKoZIhvcNAQkBFhZqZXJlbXlAb3V0ZXJzcXVhcmUub3JnMSAwHgYJ
 KoZIhvcNAQkBFhFqZXJlbXlodWRAbWFjLmNvbTEjMCEGCSqGSIb3DQEJARYUamVyZW15QGh1ZHNj
 YWJpbi5jb20xITAfBgkqhkiG9w0BCQEWEmplcmVteWh1QGFwcGxlLmNvbTElMCMGCSqGSIb3DQEJ
 ARYWamVyZW15QG91dGVyc3F1YXJlLmNvbTElMCMGCSqGSIb3DQEJARYWcGF5cGFsQG91dGVyc3F1
 YXJlLmNvbTEfMB0GCSqGSIb3DQEJARYQamVyZW15aHVkQG1lLmNvbTCCASIwDQYJKoZIhvcNAQEB
 BQADggEPADCCAQoCggEBAL+c2RGHleO3G25PQEPEVsV3H/cWDewBCnMbqV0zgEg3hMyoRUG3aRUg
 H4gWbhVNkx/5t0A+mLQQWNnktg2Jku4MJJhHmarkxQAwITyamyO+37GHFl2d7oe5J7CFwg3Evf/2
 Lli0mfglfDHBy5YN9yURbSMVRaDVWGHhpYkqTwGXG2Bpai7oqdOlB0hDcRGE4Fv5aurxAuxyIohZ
 MuxhZBzDfmidKsOUTnsz+NCUFIXKcMLYWwvH4XOBC4l0SU523phMyEW0OPas38EWd2NMCYaO1URA
 944+cS68DUvCqrrRzGmixY03PcaVuJ/+KA3L2u9esq8vt8s5m8aW8MWQWIkCAwEAAaOCAZEwggGN
 MIIBewYDVR0RBIIBcjCCAW6BFWplcmVteWh1QGJlcmtlbGV5LmVkdYEcamVyZW15aHVAdWNsaW5r
 LmJlcmtlbGV5LmVkdYEdamVyZW15aHVAdWNsaW5rNC5iZXJrZWxleS5lZHWBGGplcmVteWh1QGNz
 LmJlcmtlbGV5LmVkdYEaamVyZW15QHVwZS5jcy5iZXJrZWxleS5lZHWBGmplcmVteWh1QGVlY3Mu
 YmVya2VsZXkuZWR1gRhqZXJlbXlodUBmcmVlZGVza3RvcC5vcmeBFWplcmVteWh1QG1hY3BvcnRz
 Lm9yZ4EWamVyZW15QG91dGVyc3F1YXJlLm9yZ4ERamVyZW15aHVkQG1hYy5jb22BFGplcmVteUBo
 dWRzY2FiaW4uY29tgRJqZXJlbXlodUBhcHBsZS5jb22BFmplcmVteUBvdXRlcnNxdWFyZS5jb22B
 FnBheXBhbEBvdXRlcnNxdWFyZS5jb22BEGplcmVteWh1ZEBtZS5jb20wDAYDVR0TAQH/BAIwADAN
 BgkqhkiG9w0BAQUFAAOBgQBAga5aJmkyd0TMiY0icyR7j5soyooiP4q9+Iu6lG+s/S+7vF5sDadC
 q+Y7US091MNT4LmbQehwwhi4jUWyEZ+KP9dhfWMqi51rZDbhWxAqAoKmgWgoQ9UsA4LqaC1wWlrM
 /DtzZ7+L5ZZ+MWlr94fDNL8qU3+y3ZfiXgpWBV1x1zGCAxAwggMMAgEBMHYwYjELMAkGA1UEBhMC
 WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0
 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhBfIA3CIvCJAyf8rsNvgxtuMAkGBSsOAwIa
 BQCgggFvMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA5MTEyMTE3
 MzcwMFowIwYJKoZIhvcNAQkEMRYEFIutYCezKzXg0BDuaQxNkTzbxfaIMIGFBgkrBgEEAYI3EAQx
 eDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu
 MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQXyANwiLwiQMn
 /K7Db4MbbjCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
 dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h
 aWwgSXNzdWluZyBDQQIQXyANwiLwiQMn/K7Db4MbbjANBgkqhkiG9w0BAQEFAASCAQAj3Vp//m1E
 n9CEuh/hO1VtWun9dVslIZ8Dx890rCFp2MdTaz9r7VhsR6nMFTybgFpKiOxTdAQ3XWlUn8mDCxxz
 MLQygyf1CCQiRZXgxR1c7Dck9N4FZyBw7zFgH5P3gNxNOwvmHG19RjbiU/JteFuj17LiNKYMAcLs
 dkBbi3wmlTscbrTLEV12i71X9FjhfkxyLdheTbKb3KDzmeU/ABBwccqzPk0bUjytMlZg642HQBL2
 X4CdJjKaU+hT4S4hQtqKZh+QSdYBMxkXvpFrIwDCCSOOwig86sfHJdxZthJ3N70IsrU1OT5tGyuy
 pTRp6lsiAwSP6OYtnf+U97f7PQyzAAAAAAAA
 
 --Apple-Mail-2--802537417--
State-Changed-From-To: open->analyzed 
State-Changed-By: vwe 
State-Changed-When: Sat Aug 21 21:02:34 UTC 2010 
State-Changed-Why:  
still not changed in the repository 
patch (including changed man page) is at 
http://people.freebsd.org/~vwe/files/patches/pr140690_swab.diff 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140690 
State-Changed-From-To: analyzed->open 
State-Changed-By: eadler 
State-Changed-When: Sat Mar 3 18:10:34 UTC 2012 
State-Changed-Why:  
take 


Responsible-Changed-From-To: freebsd-bugs->eadler 
Responsible-Changed-By: eadler 
Responsible-Changed-When: Sat Mar 3 18:10:34 UTC 2012 
Responsible-Changed-Why:  
take 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140690 
State-Changed-From-To: open->analyzed 
State-Changed-By: eadler 
State-Changed-When: Sun Mar 4 04:18:16 UTC 2012 
State-Changed-Why:  
awaiting approval 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140690 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/140690: commit references a PR
Date: Sun,  4 Mar 2012 16:39:16 +0000 (UTC)

 Author: eadler
 Date: Sun Mar  4 16:39:08 2012
 New Revision: 232503
 URL: http://svn.freebsd.org/changeset/base/232503
 
 Log:
   POSIX mandates that swab do nothing when len < 0
   
   PR:		kern/140690
   Submitted by:	Jeremy Huddleston <jeremyhu@apple.com>
   Approved by:	cperciva
   MFC after:	2 weeks
 
 Modified:
   head/lib/libc/string/swab.3
   head/lib/libc/string/swab.c
 
 Modified: head/lib/libc/string/swab.3
 ==============================================================================
 --- head/lib/libc/string/swab.3	Sun Mar  4 16:37:44 2012	(r232502)
 +++ head/lib/libc/string/swab.3	Sun Mar  4 16:39:08 2012	(r232503)
 @@ -28,7 +28,7 @@
  .\"     @(#)swab.3	8.1 (Berkeley) 6/4/93
  .\" $FreeBSD$
  .\"
 -.Dd December 10, 2004
 +.Dd March 4, 2012
  .Dt SWAB 3
  .Os
  .Sh NAME
 @@ -54,6 +54,9 @@ swapping adjacent bytes.
  The argument
  .Fa len
  must be an even number.
 +If
 +.Fa len
 +is less than zero, nothing will be done.
  .Sh SEE ALSO
  .Xr bzero 3 ,
  .Xr memset 3
 
 Modified: head/lib/libc/string/swab.c
 ==============================================================================
 --- head/lib/libc/string/swab.c	Sun Mar  4 16:37:44 2012	(r232502)
 +++ head/lib/libc/string/swab.c	Sun Mar  4 16:39:08 2012	(r232503)
 @@ -45,6 +45,8 @@ swab(const void * __restrict from, void 
  	int n;
  	char *fp, *tp;
  
 +	if (len <= 0)
 +		return;
  	n = len >> 1;
  	fp = (char *)from;
  	tp = (char *)to;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: analyzed->patched 
State-Changed-By: eadler 
State-Changed-When: Sun Mar 4 16:45:18 UTC 2012 
State-Changed-Why:  
committed in r232503 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140690 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/140690: commit references a PR
Date: Mon, 19 Mar 2012 01:27:40 +0000 (UTC)

 Author: eadler
 Date: Mon Mar 19 01:27:30 2012
 New Revision: 233146
 URL: http://svn.freebsd.org/changeset/base/233146
 
 Log:
   MFC r232503:
   	POSIX mandates that swab do nothing when len < 0
   
   PR:		140690
   Approved by:	cperciva
 
 Modified:
   stable/9/lib/libc/string/swab.3
   stable/9/lib/libc/string/swab.c
 Directory Properties:
   stable/9/lib/libc/   (props changed)
 
 Modified: stable/9/lib/libc/string/swab.3
 ==============================================================================
 --- stable/9/lib/libc/string/swab.3	Mon Mar 19 01:19:04 2012	(r233145)
 +++ stable/9/lib/libc/string/swab.3	Mon Mar 19 01:27:30 2012	(r233146)
 @@ -28,7 +28,7 @@
  .\"     @(#)swab.3	8.1 (Berkeley) 6/4/93
  .\" $FreeBSD$
  .\"
 -.Dd December 10, 2004
 +.Dd March 4, 2012
  .Dt SWAB 3
  .Os
  .Sh NAME
 @@ -54,6 +54,9 @@ swapping adjacent bytes.
  The argument
  .Fa len
  must be an even number.
 +If
 +.Fa len
 +is less than zero, nothing will be done.
  .Sh SEE ALSO
  .Xr bzero 3 ,
  .Xr memset 3
 
 Modified: stable/9/lib/libc/string/swab.c
 ==============================================================================
 --- stable/9/lib/libc/string/swab.c	Mon Mar 19 01:19:04 2012	(r233145)
 +++ stable/9/lib/libc/string/swab.c	Mon Mar 19 01:27:30 2012	(r233146)
 @@ -45,6 +45,8 @@ swab(const void * __restrict from, void 
  	int n;
  	char *fp, *tp;
  
 +	if (len <= 0)
 +		return;
  	n = len >> 1;
  	fp = (char *)from;
  	tp = (char *)to;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/140690: commit references a PR
Date: Mon, 19 Mar 2012 01:28:14 +0000 (UTC)

 Author: eadler
 Date: Mon Mar 19 01:27:55 2012
 New Revision: 233147
 URL: http://svn.freebsd.org/changeset/base/233147
 
 Log:
   MFC r232503:
   	POSIX mandates that swab do nothing when len < 0
   
   PR:		140690
   Approved by:	cperciva
 
 Modified:
   stable/8/lib/libc/string/swab.3
   stable/8/lib/libc/string/swab.c
 Directory Properties:
   stable/8/lib/libc/   (props changed)
 
 Modified: stable/8/lib/libc/string/swab.3
 ==============================================================================
 --- stable/8/lib/libc/string/swab.3	Mon Mar 19 01:27:30 2012	(r233146)
 +++ stable/8/lib/libc/string/swab.3	Mon Mar 19 01:27:55 2012	(r233147)
 @@ -28,7 +28,7 @@
  .\"     @(#)swab.3	8.1 (Berkeley) 6/4/93
  .\" $FreeBSD$
  .\"
 -.Dd December 10, 2004
 +.Dd March 4, 2012
  .Dt SWAB 3
  .Os
  .Sh NAME
 @@ -54,6 +54,9 @@ swapping adjacent bytes.
  The argument
  .Fa len
  must be an even number.
 +If
 +.Fa len
 +is less than zero, nothing will be done.
  .Sh SEE ALSO
  .Xr bzero 3 ,
  .Xr memset 3
 
 Modified: stable/8/lib/libc/string/swab.c
 ==============================================================================
 --- stable/8/lib/libc/string/swab.c	Mon Mar 19 01:27:30 2012	(r233146)
 +++ stable/8/lib/libc/string/swab.c	Mon Mar 19 01:27:55 2012	(r233147)
 @@ -45,6 +45,8 @@ swab(const void * __restrict from, void 
  	int n;
  	char *fp, *tp;
  
 +	if (len <= 0)
 +		return;
  	n = len >> 1;
  	fp = (char *)from;
  	tp = (char *)to;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/140690: commit references a PR
Date: Mon, 19 Mar 2012 01:28:27 +0000 (UTC)

 Author: eadler
 Date: Mon Mar 19 01:28:11 2012
 New Revision: 233148
 URL: http://svn.freebsd.org/changeset/base/233148
 
 Log:
   MFC r232503:
   	POSIX mandates that swab do nothing when len < 0
   
   PR:		140690
   Approved by:	cperciva
 
 Modified:
   stable/7/lib/libc/string/swab.3
   stable/7/lib/libc/string/swab.c
 Directory Properties:
   stable/7/lib/libc/   (props changed)
 
 Modified: stable/7/lib/libc/string/swab.3
 ==============================================================================
 --- stable/7/lib/libc/string/swab.3	Mon Mar 19 01:27:55 2012	(r233147)
 +++ stable/7/lib/libc/string/swab.3	Mon Mar 19 01:28:11 2012	(r233148)
 @@ -28,7 +28,7 @@
  .\"     @(#)swab.3	8.1 (Berkeley) 6/4/93
  .\" $FreeBSD$
  .\"
 -.Dd December 10, 2004
 +.Dd March 4, 2012
  .Dt SWAB 3
  .Os
  .Sh NAME
 @@ -54,6 +54,9 @@ swapping adjacent bytes.
  The argument
  .Fa len
  must be an even number.
 +If
 +.Fa len
 +is less than zero, nothing will be done.
  .Sh SEE ALSO
  .Xr bzero 3 ,
  .Xr memset 3
 
 Modified: stable/7/lib/libc/string/swab.c
 ==============================================================================
 --- stable/7/lib/libc/string/swab.c	Mon Mar 19 01:27:55 2012	(r233147)
 +++ stable/7/lib/libc/string/swab.c	Mon Mar 19 01:28:11 2012	(r233148)
 @@ -45,6 +45,8 @@ swab(const void * __restrict from, void 
  	int n;
  	char *fp, *tp;
  
 +	if (len <= 0)
 +		return;
  	n = len >> 1;
  	fp = (char *)from;
  	tp = (char *)to;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: eadler 
State-Changed-When: Mon Mar 19 01:34:20 UTC 2012 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140690 
>Unformatted:
