From: zhang <15535135608@163.com> Date: Fri, 12 Aug 2022 07:16:08 +0000 (+0100) Subject: Fix Segmentation fault in ShowCache::handleCacheEvent X-Git-Tag: archive/raspbian/8.1.5+ds-1_deb11u1+rpi1^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=af38021de429aab37ff56af8df00775652b8b3e1;p=trafficserver.git 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 --- 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];