From: Denys Vlasenko Date: Thu, 4 Jul 2013 07:26:24 +0000 (+0200) Subject: Add paranoia check before passing a long to pid2tcb(int pid) X-Git-Tag: v4.9~204 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6162a3f34fc8d15095a3b71dc6e4cbdfe1b14ac1;p=strace Add paranoia check before passing a long to pid2tcb(int pid) Signed-off-by: Denys Vlasenko --- 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);