Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-10-23 21:19:17 +0400
committerChristopher Faylor <me@cgf.cx>2011-10-23 21:19:17 +0400
commit1f012519e4954361e3f5c8ad4eab79cde57a510c (patch)
tree77ee84ad7d0e75568cfe6de08dfba3d3ad260203 /winsup
parent6ae28c22639d43de76a9d45362df5055cd38a867 (diff)
* path.cc (path_conv::get_nt_native_path): Avoid dereferencing path when it is
NULL.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog9
-rw-r--r--winsup/cygwin/path.cc10
2 files changed, 17 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 08c12cfc8..19ee92fd3 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-23 Christopher Faylor <me.cygwin2011@cgf.cx>
+
+ * path.cc (path_conv::get_nt_native_path): Avoid dereferencing path
+ when it is NULL.
+
2011-10-21 Christopher Faylor <me.cygwin2011@cgf.cx>
* dtable.cc (dtable::delete_archetype): Improve debugging output.
@@ -33,6 +38,10 @@
(operator <<): New function.
(operator =): Use eq_worker to perform old functionality.
+ * child_info.h (NPROCS): Move here from sigproc.cc.
+ (child_info::nprocs): New field. Not used yet.
+ (child_info::children):: Ditto.
+
2011-10-21 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Check invalid
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 97cf9e5d4..021e7dff4 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -450,15 +450,21 @@ get_nt_native_path (const char *path, UNICODE_STRING& upath, bool dos)
PUNICODE_STRING
path_conv::get_nt_native_path ()
{
- if (!wide_path)
+ PUNICODE_STRING res;
+ if (wide_path)
+ res = &uni_path;
+ else if (!path)
+ res = NULL;
+ else
{
uni_path.Length = 0;
uni_path.MaximumLength = (strlen (path) + 10) * sizeof (WCHAR);
wide_path = (PWCHAR) cmalloc_abort (HEAP_STR, uni_path.MaximumLength);
uni_path.Buffer = wide_path;
::get_nt_native_path (path, uni_path, has_dos_filenames_only ());
+ res = &uni_path;
}
- return &uni_path;
+ return res;
}
PWCHAR