aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/pinfo.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2005-01-13 22:18:57 +0000
committerCorinna Vinschen <corinna@vinschen.de>2005-01-13 22:18:57 +0000
commit0dabe0e0c232687d9aa67ccd0474f4df8daf4f76 (patch)
treebc56447abe93e8d3e9b59ab8365da724d43d6c22 /winsup/cygwin/pinfo.cc
parent9b8e782e11e7073a97af47a74f8e7816becdc5da (diff)
downloadnewlib-0dabe0e0c232687d9aa67ccd0474f4df8daf4f76.zip
newlib-0dabe0e0c232687d9aa67ccd0474f4df8daf4f76.tar.gz
newlib-0dabe0e0c232687d9aa67ccd0474f4df8daf4f76.tar.bz2
* pinfo.cc (pinfo::exit): Don't access self after releasing it.
* path.h (path_conv::path_conv): Fill path with native device name in case of device argument.
Diffstat (limited to 'winsup/cygwin/pinfo.cc')
-rw-r--r--winsup/cygwin/pinfo.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 3782126..c9f40d0 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -140,13 +140,14 @@ pinfo::exit (DWORD n)
set_exit_state (PID_EXITED);
if (n != EXITCODE_EXEC)
self->alert_parent (0);
+ int exitcode = self->exitcode;
release ();
_my_tls.stacklock = 0;
_my_tls.stackptr = _my_tls.stack;
sigproc_printf ("Calling ExitProcess hProcess %p, n %p, exitcode %p",
- hProcess, n, self->exitcode);
- ExitProcess (self->exitcode);
+ hProcess, n, exitcode);
+ ExitProcess (exitcode);
}
# undef self