This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] cygcheck: Fix broken test for invalid wcstombs conversion reading symlinks


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=bbeef8ef3fc017dc7a1e042c3b0e2456dcc8b51f

commit bbeef8ef3fc017dc7a1e042c3b0e2456dcc8b51f
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Sat Oct 22 22:53:29 2016 +0200

    cygcheck: Fix broken test for invalid wcstombs conversion reading symlinks
    
    Fixes Coverity CID 66905
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/utils/path.cc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/winsup/utils/path.cc b/winsup/utils/path.cc
index 336408d..a76cf76 100644
--- a/winsup/utils/path.cc
+++ b/winsup/utils/path.cc
@@ -220,10 +220,10 @@ readlink (HANDLE fh, char *path, int maxlen)
 	}
       if (*(PWCHAR) cp == 0xfeff)	/* BOM */
 	{
-	  len = wcstombs (NULL, (wchar_t *) (cp + 2), 0);
-	  if (len == (size_t) -1 || len + 1 > maxlen)
+	  size_t wlen = wcstombs (NULL, (wchar_t *) (cp + 2), 0);
+	  if (wlen == (size_t) -1 || wlen + 1 > maxlen)
 	    return false;
-	  wcstombs (path, (wchar_t *) (cp + 2), len + 1);
+	  wcstombs (path, (wchar_t *) (cp + 2), wlen + 1);
 	}
       else if (len + 1 > maxlen)
 	return false;
@@ -238,10 +238,10 @@ readlink (HANDLE fh, char *path, int maxlen)
       cp = buf + strlen (SYMLINK_COOKIE);
       if (*(PWCHAR) cp == 0xfeff)	/* BOM */
 	{
-	  len = wcstombs (NULL, (wchar_t *) (cp + 2), 0);
-	  if (len == (size_t) -1 || len + 1 > maxlen)
+	  size_t wlen = wcstombs (NULL, (wchar_t *) (cp + 2), 0);
+	  if (wlen == (size_t) -1 || wlen + 1 > maxlen)
 	    return false;
-	  wcstombs (path, (wchar_t *) (cp + 2), len + 1);
+	  wcstombs (path, (wchar_t *) (cp + 2), wlen + 1);
 	}
       else if (fi.nFileSizeLow - strlen (SYMLINK_COOKIE) > (unsigned) maxlen)
 	return false;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]