diff options
author | Christopher Faylor <me@cgf.cx> | 2011-10-23 17:19:17 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-10-23 17:19:17 +0000 |
commit | 1f012519e4954361e3f5c8ad4eab79cde57a510c (patch) | |
tree | 77ee84ad7d0e75568cfe6de08dfba3d3ad260203 | |
parent | 6ae28c22639d43de76a9d45362df5055cd38a867 (diff) | |
download | cygnal-1f012519e4954361e3f5c8ad4eab79cde57a510c.tar.gz cygnal-1f012519e4954361e3f5c8ad4eab79cde57a510c.tar.bz2 cygnal-1f012519e4954361e3f5c8ad4eab79cde57a510c.zip |
* path.cc (path_conv::get_nt_native_path): Avoid dereferencing path when it is
NULL.
-rw-r--r-- | winsup/cygwin/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 10 |
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 |