svn commit: r234632 - stable/9/lib/libc/stdio

David Schultz das at FreeBSD.org
Tue Apr 24 03:56:47 UTC 2012


Author: das
Date: Tue Apr 24 03:56:45 2012
New Revision: 234632
URL: http://svn.freebsd.org/changeset/base/234632

Log:
  MFC r234528, r234536:
    Fix an infinite loop in fputws().

Modified:
  stable/9/lib/libc/stdio/fputws.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/stdio/fputws.c
==============================================================================
--- stable/9/lib/libc/stdio/fputws.c	Tue Apr 24 03:56:39 2012	(r234631)
+++ stable/9/lib/libc/stdio/fputws.c	Tue Apr 24 03:56:45 2012	(r234632)
@@ -54,8 +54,8 @@ fputws(const wchar_t * __restrict ws, FI
 	uio.uio_iov = &iov;
 	uio.uio_iovcnt = 1;
 	iov.iov_base = buf;
+	wsp = ws;
 	do {
-		wsp = ws;
 		nbytes = __wcsnrtombs(buf, &wsp, SIZE_T_MAX, sizeof(buf),
 		    &fp->_mbstate);
 		if (nbytes == (size_t)-1)
@@ -63,7 +63,7 @@ fputws(const wchar_t * __restrict ws, FI
 		iov.iov_len = uio.uio_resid = nbytes;
 		if (__sfvwrite(fp, &uio) != 0)
 			goto error;
-	} while (ws != NULL);
+	} while (wsp != NULL);
 	FUNLOCKFILE(fp);
 	return (0);
 


More information about the svn-src-stable mailing list