From: zhang <15535135608@163.com> Date: Wed, 4 Jan 2023 08:22:58 +0000 (+0000) Subject: Fix Segmentation fault in ShowCache::handleCacheEvent X-Git-Tag: archive/raspbian/8.1.6+ds-1_deb11u1+rpi1^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8501a6ee2f41baca924afe4c74ea794a95c133b1;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];