svn commit: r304113 - releng/11.0/usr.bin/truss
Baptiste Daroussin
bapt at FreeBSD.org
Mon Aug 15 08:20:39 UTC 2016
Author: bapt
Date: Mon Aug 15 08:20:37 2016
New Revision: 304113
URL: https://svnweb.freebsd.org/changeset/base/304113
Log:
MFC: r303685
truss: fix uninitialized trussinfo->curthread in add_threads()/enter_syscall
trussinfo->curthread must be initialized before calling enter_syscall(),
it is used by t->proc->abi->fetch_args().
Without that truss is segfaulting and the attached program also crash.
Submitted by: Nikita Kozlov (nikita at gandi.net)
Reviewed by: jhb
Approved by: re (gjb)
Differential Revision: https://reviews.freebsd.org/D7399
Modified:
releng/11.0/usr.bin/truss/setup.c
Directory Properties:
releng/11.0/ (props changed)
Modified: releng/11.0/usr.bin/truss/setup.c
==============================================================================
--- releng/11.0/usr.bin/truss/setup.c Mon Aug 15 08:07:07 2016 (r304112)
+++ releng/11.0/usr.bin/truss/setup.c Mon Aug 15 08:20:37 2016 (r304113)
@@ -223,8 +223,10 @@ add_threads(struct trussinfo *info, stru
t = new_thread(p, lwps[i]);
if (ptrace(PT_LWPINFO, lwps[i], (caddr_t)&pl, sizeof(pl)) == -1)
err(1, "ptrace(PT_LWPINFO)");
- if (pl.pl_flags & PL_FLAG_SCE)
+ if (pl.pl_flags & PL_FLAG_SCE) {
+ info->curthread = t;
enter_syscall(info, t, &pl);
+ }
}
free(lwps);
}
More information about the svn-src-releng
mailing list