diff options
author | Christopher Faylor <me@cgf.cx> | 2012-07-02 19:48:33 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-07-02 19:48:33 +0000 |
commit | fb348d22afc85a2dfba80c3059391e8bc276e9ca (patch) | |
tree | 642176d17432f02e8a1110e7d7d7daeb7d9984f9 | |
parent | e14a5a7efa4350fd75a0c8db65461d8d12a13b17 (diff) | |
download | newlib-fb348d22afc85a2dfba80c3059391e8bc276e9ca.zip newlib-fb348d22afc85a2dfba80c3059391e8bc276e9ca.tar.gz newlib-fb348d22afc85a2dfba80c3059391e8bc276e9ca.tar.bz2 |
* external.cc (fillout_pinfo): Return NULL rather than 0.
(exit_process): Guard against NULL pointer dereference found by Clang.
-rw-r--r-- | winsup/cygwin/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/cygwin/external.cc | 8 |
2 files changed, 12 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 5ff6fab..611ba0d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,12 +1,17 @@ 2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> + * external.cc (fillout_pinfo): Return NULL rather than 0. + (exit_process): Guard against NULL pointer dereference found by Clang. + +2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> + * mount.cc (mount_info::conv_to_win32_path): Eliminate unneeded - assignment found by CLANG. + assignment found by Clang. 2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx> * path.cc (symlink_info::check): Remove unneeded/unused variable found - by CLANG. + by Clang. 2012-07-02 Corinna Vinschen <corinna@vinschen.de> diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc index cd86966..22636aa 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -108,7 +108,7 @@ fillout_pinfo (pid_t pid, int winpid) { i = 0; pids.reset (); - return 0; + return NULL; } return &ep; } @@ -186,10 +186,12 @@ static void exit_process (UINT status, bool useTerminateProcess) { pid_t pid = getpid (); - external_pinfo * ep = fillout_pinfo (pid, 1); + external_pinfo *ep = fillout_pinfo (pid, 1); DWORD dwpid = ep ? ep->dwProcessId : pid; pinfo p (pid, PID_MAP_RW); - if ((dwpid == GetCurrentProcessId()) && (p->pid == ep->pid)) + if (ep) + pid = ep->pid; + if ((dwpid == GetCurrentProcessId()) && (p->pid == pid)) p.set_exit_code ((DWORD)status); if (useTerminateProcess) TerminateProcess (GetCurrentProcess(), status); |