From 5a8adb6eb0b959470859f1a8ab8cff1d09feeb56 Mon Sep 17 00:00:00 2001 From: Masaori Koshiba Date: Tue, 26 Jul 2022 09:48:29 +0900 Subject: [PATCH] Add RangeTransform::m_write_vio state checks --- proxy/Transform.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/proxy/Transform.cc b/proxy/Transform.cc index 664e310df6b..5013d3192ac 100644 --- a/proxy/Transform.cc +++ b/proxy/Transform.cc @@ -791,7 +791,9 @@ RangeTransform::handle_event(int event, void *edata) } else { switch (event) { case VC_EVENT_ERROR: - m_write_vio.cont->handleEvent(VC_EVENT_ERROR, &m_write_vio); + if (m_write_vio.cont) { + m_write_vio.cont->handleEvent(VC_EVENT_ERROR, &m_write_vio); + } break; case VC_EVENT_WRITE_COMPLETE: ink_assert(m_output_vio == (VIO *)edata); @@ -814,6 +816,10 @@ RangeTransform::handle_event(int event, void *edata) } } + if (!m_write_vio.mutex) { + return 0; + } + MUTEX_TRY_LOCK(trylock, m_write_vio.mutex, this_ethread()); if (!trylock.is_locked()) { retry(10);