svn commit: r288903 - head/usr.bin/truss

Bryan Drewery bdrewery at FreeBSD.org
Mon Oct 5 21:39:08 UTC 2015


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)


More information about the svn-src-head mailing list