From ec7335142384ec9da66871036803b96319b590eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Mon, 3 Mar 2025 06:14:08 -0500 Subject: [PATCH 16/18] syswrap-generic: Emit pp_ExeContext after the file descriptor backtrace Adjust use_after_close test for the change. (cherry picked from commit 838dc01d2c42f7f22785c771bd74bc4e595da444) --- coregrind/m_syswrap/syswrap-generic.c | 2 +- none/tests/use_after_close.stderr.exp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 1d80d09288ed..5222bcefe11b 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -1179,6 +1179,7 @@ void fd_pp_Error (const Error *err) } VG_(emit)("%sFile descriptor %d %s%s\n", whatpre, nce->fd, error_string, whatpost); + VG_(pp_ExeContext)(where); /* If the file descriptor was never created we won't have where_closed and where_opened. Only print them in a use after close case. */ @@ -1190,7 +1191,6 @@ void fd_pp_Error (const Error *err) VG_(emit)("%sOriginally opened%s\n", auxpre, auxpost); VG_(pp_ExeContext)(nce->where_opened); } - VG_(pp_ExeContext)(where); } else { vg_assert2 (False, "Unknown error kind: %d", VG_(get_error_kind)(err)); diff --git a/none/tests/use_after_close.stderr.exp b/none/tests/use_after_close.stderr.exp index 1ef31c6551eb..75a8d6672949 100644 --- a/none/tests/use_after_close.stderr.exp +++ b/none/tests/use_after_close.stderr.exp @@ -1,13 +1,13 @@ bad File descriptor 3 was closed already + at 0x........: write (in /...libc...) + by 0x........: main Previously closed at 0x........: close (in /...libc...) by 0x........: main Originally opened at 0x........: dup (in /...libc...) by 0x........: main - at 0x........: write (in /...libc...) - by 0x........: main File descriptor 7 was never created at 0x........: write (in /...libc...) by 0x........: main -- 2.48.1