From baf7d7a7fc3f0c6da3efe9a9687c23fa9d1bb7b5 Mon Sep 17 00:00:00 2001 From: zhang <15535135608@163.com> Date: Sat, 21 May 2022 18:28:31 +0100 Subject: [PATCH] Fix Segmentation fault in ShowCache::handleCacheEvent Origin: upstream Bug: https://github.com/apache/trafficserver/issues/4328 Applied-Upstream: https://github.com/apache/trafficserver/commit/616eb10bfc35599a2c93ff30879d584a05ddf83e Reviewed-by: Jean Baptiste Favre Last-Update: 2018-10-17 Last-Update: 2018-10-17 Gbp-Pq: Name 0011-fix-segfault.patch --- iocore/cache/CachePages.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/iocore/cache/CachePages.cc b/iocore/cache/CachePages.cc index 4578c4b2..089cb590 100644 --- a/iocore/cache/CachePages.cc +++ b/iocore/cache/CachePages.cc @@ -337,6 +337,13 @@ ShowCache::handleCacheEvent(int event, Event *e) CacheHTTPInfoVector *vec = &(cache_vc->vector); int alt_count = vec->count(); if (alt_count) { + // check cache_vc->first_buf is NULL, response cache lookup busy. + if (cache_vc->first_buf == nullptr) { + cache_vc->do_io_close(-1); + CHECK_SHOW(show("

Cache Lookup Busy, please try again

\n")); + return complete(event, e); + } + Doc *d = (Doc *)(cache_vc->first_buf->data()); time_t t; char tmpstr[4096]; -- 2.30.2