Skip to content
Permalink
Browse files
Include error reason if trace disabling fails.
  • Loading branch information
daztucker committed Oct 15, 2021
1 parent d4b3814 commit fff13aa
Showing 1 changed file with 7 additions and 4 deletions.
@@ -41,21 +41,24 @@ platform_disable_tracing(int strict)
int disable_trace = PROC_TRACE_CTL_DISABLE;

if (procctl(P_PID, 0, PROC_TRACE_CTL, &disable_trace) && strict)
fatal("unable to make the process untraceable");
fatal("unable to make the process untraceable: %s",
strerror(errno));
#endif
#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE)
/* Disable ptrace on Linux without sgid bit */
if (prctl(PR_SET_DUMPABLE, 0) != 0 && strict)
fatal("unable to make the process undumpable");
fatal("unable to make the process undumpable: %s",
strerror(errno));
#endif
#if defined(HAVE_SETPFLAGS) && defined(__PROC_PROTECT)
/* On Solaris, we should make this process untraceable */
if (setpflags(__PROC_PROTECT, 1) != 0 && strict)
fatal("unable to make the process untraceable");
fatal("unable to make the process untraceable: %s",
strerror(errno));
#endif
#ifdef PT_DENY_ATTACH
/* Mac OS X */
if (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 && strict)
fatal("unable to set PT_DENY_ATTACH");
fatal("unable to set PT_DENY_ATTACH: %s", strerror(errno));
#endif
}

0 comments on commit fff13aa

Please sign in to comment.