Refactor to avoid nonnull checks on "this" pointer.
G++ 6.0 asserts that the "this" pointer is non-null for member functions. Refactor methods that check if "this" is non-null to resolve this. winsup/cygwin/ChangeLog: external.cc (cygwin_internal): Check for a null pinfo before calling cmdline. fhandler_dsp.cc (Audio::blockSize): Make static. fhandler_dsp.cc (Audio_in): add default_buf_info. fhandler_dsp.cc (Audio_out): Ditto. fhandler_dsp.cc (Audio_out::buf_info): Refactor method to call default_buf_info if dev_ is null. fhandler_dsp.cc (Audio_in::buf_info): Ditto. fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_out::default_buf_info if audio_out_ is null. fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_in::default_buf_info if audio_in_ is null. fhandler_process.cc (format_process_fd): Check if pinfo is null. fhandler_process.cc (format_process_root): Ditto. fhandler_process.cc (format_process_cwd): Ditto. fhandler_process.cc (format_process_cmdline): Ditto. signal.cc (tty_min::kill_pgrp): Ditto. signal.cc (_pinfo::kill0): Ditto. sigproc.cc (pid_exists): Ditto. sigproc.cc (remove_proc): Ditto. times.cc (clock_gettime): Ditto. times.cc (clock_getcpuclockid): Ditto. path.cc (cwdstuff::override_win32_cwd): Check if old_cwd is null. path.cc (fcwd_access_t::Free): Factor null check of "this" out to caller(s). pinfo.cc (_pinfo::exists): Ditto. pinfo.cc (_pinfo::fd): Ditto. pinfo.cc (_pinfo::fds): Ditto. pinfo.cc (_pinfo::root): Ditto. pinfo.cc (_pinfo::cwd): Ditto. pinfo.cc (_pinfo::cmdline): Ditto. signal.cc (_pinfo::kill): Ditto. pinfo.cc (_pinfo::commune_request): remove non-null check on "this", as this method is only called from pinfo.cc after null checks pinfo.cc (_pinfo::pipe_fhandler): remove non-null check on "this", as this method is only called from pipe.cc (fhandler_pipe::open) after a null check. Signed-off-by: Peter Foley <pefoley2@pefoley.com>
This commit is contained in:
committed by
Corinna Vinschen
parent
e7e6119241
commit
0008bdea02
@ -371,6 +371,11 @@ format_process_fd (void *data, char *&destbuf)
|
||||
case a trailing slash and more followup chars are allowed, provided the
|
||||
descriptor symlink points to a directory. */
|
||||
char *fdp = strchr (path, '/') + 3;
|
||||
if (!p)
|
||||
{
|
||||
set_errno (ENOENT);
|
||||
return 0;
|
||||
}
|
||||
/* The "fd" directory itself? */
|
||||
if (fdp[0] =='\0' || (fdp[0] == '/' && fdp[1] == '\0'))
|
||||
{
|
||||
@ -479,7 +484,7 @@ format_process_root (void *data, char *&destbuf)
|
||||
cfree (destbuf);
|
||||
destbuf = NULL;
|
||||
}
|
||||
destbuf = p->root (fs);
|
||||
destbuf = p ? p->root (fs) : NULL;
|
||||
if (!destbuf || !*destbuf)
|
||||
{
|
||||
destbuf = cstrdup ("<defunct>");
|
||||
@ -499,7 +504,7 @@ format_process_cwd (void *data, char *&destbuf)
|
||||
cfree (destbuf);
|
||||
destbuf = NULL;
|
||||
}
|
||||
destbuf = p->cwd (fs);
|
||||
destbuf = p ? p->cwd (fs) : NULL;
|
||||
if (!destbuf || !*destbuf)
|
||||
{
|
||||
destbuf = cstrdup ("<defunct>");
|
||||
@ -519,7 +524,7 @@ format_process_cmdline (void *data, char *&destbuf)
|
||||
cfree (destbuf);
|
||||
destbuf = NULL;
|
||||
}
|
||||
destbuf = p->cmdline (fs);
|
||||
destbuf = p ? p->cmdline (fs) : NULL;
|
||||
if (!destbuf || !*destbuf)
|
||||
{
|
||||
destbuf = cstrdup ("<defunct>");
|
||||
|
Reference in New Issue
Block a user