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);
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"

Reply via email to