Hi there, In src/urn.cc, there is a small memory leak in the function urnParseReply(const char *inbuf, const HttpRequestMethod& m): char *buf = xstrdup(inbuf); 'buf' here is never freed.
Thank you for reporting this bug. We can just free the buffer after the loop AFAICT, but, ideally, that leaking buffer should be converted into SBuf, and the tokenizing loop iterating that buffer should be converted to use an SBuf Tokenizer. Alternatively, the whole URN-handling code can be removed as too risky and neglected. Quality fixes welcome!
Amos created a PR with the simple solution: https://github.com/squid-cache/squid/pull/778
PR merged