Author: bdrewery
Date: Mon Oct  5 21:39:07 2015
New Revision: 288903
URL: https://svnweb.freebsd.org/changeset/base/288903

Log:
  Fix crash if a process sends itself a SIGTRAP.  Just forward it as expected.
  
  MFC after:    2 weeks [needs rewrite]
  Relnotes:     yes

Modified:
  head/usr.bin/truss/setup.c

Modified: head/usr.bin/truss/setup.c
==============================================================================
--- head/usr.bin/truss/setup.c  Mon Oct  5 21:36:53 2015        (r288902)
+++ head/usr.bin/truss/setup.c  Mon Oct  5 21:39:07 2015        (r288903)
@@ -564,15 +564,12 @@ eventloop(struct trussinfo *info)
                        }
                        find_thread(info, si.si_pid, pl.pl_lwpid);
 
-                       if (si.si_status == SIGTRAP) {
+                       if (si.si_status == SIGTRAP &&
+                           (pl.pl_flags & (PL_FLAG_SCE|PL_FLAG_SCX)) != 0) {
                                if (pl.pl_flags & PL_FLAG_SCE)
                                        enter_syscall(info, &pl);
                                else if (pl.pl_flags & PL_FLAG_SCX)
                                        exit_syscall(info, &pl);
-                               else
-                                       errx(1,
-                  "pl_flags %x contains neither PL_FLAG_SCE nor PL_FLAG_SCX",
-                                           pl.pl_flags);
                                pending_signal = 0;
                        } else if (pl.pl_flags & PL_FLAG_CHILD) {
                                if ((info->flags & COUNTONLY) == 0)
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to