]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 5510: False Cache Digests misses (#2254)
authorLior Brown <liorbrown@outlook.co.il>
Fri, 3 Oct 2025 08:18:34 +0000 (08:18 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Fri, 3 Oct 2025 08:18:37 +0000 (08:18 +0000)
commitaa2d1c0cd37e79abaccdc8107bd1c6225efef623
treea3affb134f3de8a6430b0eed2baa9cf8cbafa102
parentd4bffbe2a4fbcf8f45ee1093141e1b1b47cb3ca5
Bug 5510: False Cache Digests misses (#2254)

Since 2002 commit add2192d, code receiving fresh Cache Digests from
cache_peers corrupted peer digest bitmask, leading to misses for objects
that were supposed to be present in the digest[^1]. Memory overreads
were probably happening as well. The exact corruption conditions/effects
probably changed when 2023 commit 122a6e3c removed HTTP response headers
from storeClientCopy() API, but the underlying memmove() size
calculation bug predates that 2023 change.

[^1]: Bitmask corruption also ought to trigger some hits for objects
that were not present in peer's cache, although such hits were not
observed in triage, and some excessive hits are endemic to our Bloom
filters.
CONTRIBUTORS
src/peer_digest.cc