From: zhang <15535135608@163.com> Date: Thu, 15 Jul 2021 19:48:17 +0000 (+0100) Subject: Fix Segmentation fault in ShowCache::handleCacheEvent X-Git-Tag: archive/raspbian/8.1.1+ds-1.1+rpi1^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d706e42c808cc27c6f2e0eefd1aa3a4e9e513dd8;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];