From e1bfb483ea6056fa964d2e2b983b68147a0c5920 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 27 Jan 2006 06:06:06 +0000 Subject: [PATCH] * exceptions.cc (inside_kernel): Fix to return true if we can't get the name of the DLL for the given memory block since we are not in kernel code. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/exceptions.cc | 2 +- winsup/cygwin/spawn.cc | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index de4f3f6e0..1fd67e513 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2006-01-27 Christopher Faylor + + * exceptions.cc (inside_kernel): Fix to return true if we can't get the + name of the DLL for the given memory block since we are not in kernel + code. + 2006-01-26 Corinna Vinschen * fhandler.cc (fhandler_base::open): Fix bug in argument order to diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 61388e522..cc34e8d74 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -308,7 +308,7 @@ inside_kernel (CONTEXT *cx) else if (h == user_data->hmodule) res = true; else if (!GetModuleFileName (h, checkdir, windows_system_directory_length + 2)) - res = false; + res = true; else res = !strncasematch (windows_system_directory, checkdir, windows_system_directory_length); diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 0f6ec4360..4e5982ce8 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -731,6 +731,7 @@ spawn_guts (const char * prog_arg, const char *const *argv, myself->exec_sendsig = NULL; } res = -1; + CloseHandle (moreinfo->myself_pinfo); goto out; }