From 53cceb2ac2c8f92e875b06c2017e707295e3e96b Mon Sep 17 00:00:00 2001 From: Philippe Waroquiers Date: Tue, 10 Sep 2019 22:47:58 +0200 Subject: [PATCH] Have VG_(is_in_syscall) return False if no syscall was done yet. As when no syscall was done yet, the syscallInfo pointer is still null, we return False if this is null, rather than SEGV due to null ptr. This can at least happen when reporting the scheduler status before the first syscall was done. --- coregrind/m_syswrap/syswrap-main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coregrind/m_syswrap/syswrap-main.c b/coregrind/m_syswrap/syswrap-main.c index a06234e431..868645e4bc 100644 --- a/coregrind/m_syswrap/syswrap-main.c +++ b/coregrind/m_syswrap/syswrap-main.c @@ -1694,7 +1694,7 @@ void VG_(clear_syscallInfo) ( ThreadId tid ) Bool VG_(is_in_syscall) ( ThreadId tid ) { vg_assert(tid >= 0 && tid < VG_N_THREADS); - return (syscallInfo[tid].status.what != SsIdle); + return (syscallInfo && syscallInfo[tid].status.what != SsIdle); } Word VG_(is_in_syscall_no) (ThreadId tid ) -- 2.47.2