From 66486a1b7d589fa9b0150c163a769a2d5b73936c Mon Sep 17 00:00:00 2001 From: Michael Pfeiffer Date: Tue, 31 Jul 2007 16:38:48 +0000 Subject: [PATCH] Avoid memory access to deleted object. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21770 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../print/transports/print_to_file/FileSelector.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/add-ons/print/transports/print_to_file/FileSelector.cpp b/src/add-ons/print/transports/print_to_file/FileSelector.cpp index e59babaad5..bb1dae2503 100644 --- a/src/add-ons/print/transports/print_to_file/FileSelector.cpp +++ b/src/add-ons/print/transports/print_to_file/FileSelector.cpp @@ -109,13 +109,16 @@ status_t FileSelector::Go(entry_ref * ref) PostMessage(START_MSG); acquire_sem(m_exit_sem); - if ( m_result == B_OK && ref) - m_result = m_entry.GetRef(ref); + // cache result to avoid memory access of deleted window object + // after Quit(). + status_t result = m_result; + if ( result == B_OK && ref) + result = m_entry.GetRef(ref); Lock(); Quit(); - return m_result; + return result; }