]> sourceware.org Git - newlib-cygwin.git/commitdiff
* path.cc (cygwin_conv_path): Handle NULL "from" path gracefully.
authorCorinna Vinschen <corinna@vinschen.de>
Fri, 21 Jun 2013 08:14:26 +0000 (08:14 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Fri, 21 Jun 2013 08:14:26 +0000 (08:14 +0000)
* path.sgml (func-cygwin-conv-path): Document returning EINVAL if
"from" is NULL.

winsup/cygwin/ChangeLog
winsup/cygwin/path.cc
winsup/cygwin/path.sgml

index be9863eb3c5f62d3d293be0e74872f98c7523394..f101a9515e9336ed60df3ad3622af9f27ec220b8 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-21  Corinna Vinschen  <corinna@vinschen.de>
+
+       * path.cc (cygwin_conv_path): Handle NULL "from" path gracefully.
+       * path.sgml (func-cygwin-conv-path): Document returning EINVAL if
+       "from" is NULL.
+
 2013-06-19  Christopher Faylor  <me.cygwin2013@cgf.cx>
 
        * winf.h (av::unshift): Make __reg2.
index 9492590c347fe3b9c43e20023a14e00a2be548c7..9f4a3b5a6b10fcb44eed1630eb1eef2589364ad9 100644 (file)
@@ -3212,6 +3212,12 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to,
   bool relative = !!(what & CCP_RELATIVE);
   what &= CCP_CONVTYPE_MASK;
 
+  if (!from)
+    {
+      set_errno (EINVAL);
+      return -1;
+    }
+
   switch (what)
     {
     case CCP_POSIX_TO_WIN_A:
index 26c3ea34ebf6ae183cf975270c39dd8d9456d5ea..79f97dff5599145952885a5b49f6ad15355b3f3a 100644 (file)
@@ -42,7 +42,7 @@ buffer size in bytes.  Otherwise, it returns 0 on success, or -1 on
 error and errno is set to one of the below values.</para>
 
 <programlisting>
-    EINVAL        what has an invalid value.
+    EINVAL        what has an invalid value or from is NULL.
     EFAULT        from or to point into nirvana.
     ENAMETOOLONG  the resulting path is longer than 32K, or, in case
                   of what == CCP_POSIX_TO_WIN_A, longer than MAX_PATH.
This page took 0.040608 seconds and 5 git commands to generate.