From 6162a3f34fc8d15095a3b71dc6e4cbdfe1b14ac1 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 4 Jul 2013 09:26:24 +0200 Subject: [PATCH] Add paranoia check before passing a long to pid2tcb(int pid) Signed-off-by: Denys Vlasenko --- strace.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/strace.c b/strace.c index f5ce18de..a489db43 100644 --- a/strace.c +++ b/strace.c @@ -2097,6 +2097,9 @@ trace(void) if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, (long) &old_pid) < 0) goto dont_switch_tcbs; + /* Avoid truncation in pid2tcb() param passing */ + if (old_pid > UINT_MAX) + goto dont_switch_tcbs; if (old_pid <= 0 || old_pid == pid) goto dont_switch_tcbs; execve_thread = pid2tcb(old_pid); -- 2.50.1