From 3bb789244014c9a54894cb09e55b05c0db7f1d3e Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Fri, 28 Jan 2011 00:44:52 +0000 Subject: [PATCH] Don't produce suppression stack pseudo-traces with more than VG_MAX_SUPP_CALLERS entries in them. Fixes #255822. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11515 --- coregrind/m_errormgr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c index 96638e55e3..d043747667 100644 --- a/coregrind/m_errormgr.c +++ b/coregrind/m_errormgr.c @@ -376,10 +376,14 @@ static void gen_suppression(Error* err) VG_(xaprintf)(text, " %s\n", xtra); // Print stack trace elements + UInt n_ips = VG_(get_ExeContext_n_ips)(ec); + tl_assert(n_ips > 0); + if (n_ips > VG_MAX_SUPP_CALLERS) + n_ips = VG_MAX_SUPP_CALLERS; VG_(apply_StackTrace)(printSuppForIp_nonXML, text, VG_(get_ExeContext_StackTrace)(ec), - VG_(get_ExeContext_n_ips)(ec)); + n_ips); VG_(xaprintf)(text, "}\n"); // zero terminate -- 2.47.3