svn commit: r269085 - stable/10/lib/libc/stdio
Pedro F. Giffuni
pfg at FreeBSD.org
Fri Jul 25 03:24:02 UTC 2014
Author: pfg
Date: Fri Jul 25 03:24:00 2014
New Revision: 269085
URL: http://svnweb.freebsd.org/changeset/base/269085
Log:
MFC r268985, r269001:
Avoid possible cast degradation.
Assign iov_len first, avoiding the cast to uio_resid
(int in stdio) from degrading the value.
Small cosmetical fix while here.
Modified:
stable/10/lib/libc/stdio/fputs.c
stable/10/lib/libc/stdio/fputws.c
stable/10/lib/libc/stdio/puts.c
stable/10/lib/libc/stdio/putw.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/lib/libc/stdio/fputs.c
==============================================================================
--- stable/10/lib/libc/stdio/fputs.c Fri Jul 25 01:29:22 2014 (r269084)
+++ stable/10/lib/libc/stdio/fputs.c Fri Jul 25 03:24:00 2014 (r269085)
@@ -55,7 +55,7 @@ fputs(const char * __restrict s, FILE *
struct __siov iov;
iov.iov_base = (void *)s;
- iov.iov_len = uio.uio_resid = strlen(s);
+ uio.uio_resid = iov.iov_len = strlen(s);
uio.uio_iov = &iov;
uio.uio_iovcnt = 1;
FLOCKFILE(fp);
Modified: stable/10/lib/libc/stdio/fputws.c
==============================================================================
--- stable/10/lib/libc/stdio/fputws.c Fri Jul 25 01:29:22 2014 (r269084)
+++ stable/10/lib/libc/stdio/fputws.c Fri Jul 25 03:24:00 2014 (r269085)
@@ -67,7 +67,7 @@ fputws_l(const wchar_t * __restrict ws,
&fp->_mbstate);
if (nbytes == (size_t)-1)
goto error;
- iov.iov_len = uio.uio_resid = nbytes;
+ uio.uio_resid = iov.iov_len = nbytes;
if (__sfvwrite(fp, &uio) != 0)
goto error;
} while (wsp != NULL);
Modified: stable/10/lib/libc/stdio/puts.c
==============================================================================
--- stable/10/lib/libc/stdio/puts.c Fri Jul 25 01:29:22 2014 (r269084)
+++ stable/10/lib/libc/stdio/puts.c Fri Jul 25 03:24:00 2014 (r269085)
@@ -51,12 +51,12 @@ int
puts(char const *s)
{
int retval;
- size_t c = strlen(s);
+ size_t c;
struct __suio uio;
struct __siov iov[2];
iov[0].iov_base = (void *)s;
- iov[0].iov_len = c;
+ iov[0].iov_len = c = strlen(s);
iov[1].iov_base = "\n";
iov[1].iov_len = 1;
uio.uio_resid = c + 1;
Modified: stable/10/lib/libc/stdio/putw.c
==============================================================================
--- stable/10/lib/libc/stdio/putw.c Fri Jul 25 01:29:22 2014 (r269084)
+++ stable/10/lib/libc/stdio/putw.c Fri Jul 25 03:24:00 2014 (r269085)
@@ -50,7 +50,7 @@ putw(int w, FILE *fp)
struct __siov iov;
iov.iov_base = &w;
- iov.iov_len = uio.uio_resid = sizeof(w);
+ uio.uio_resid = iov.iov_len = sizeof(w);
uio.uio_iov = &iov;
uio.uio_iovcnt = 1;
FLOCKFILE(fp);
More information about the svn-src-stable-10
mailing list