From: Amos Jeffries Date: Sat, 8 Jul 2017 10:04:48 +0000 (+1200) Subject: Validate mime icon URL before allocating store entries X-Git-Tag: SQUID_4_0_22~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8803e22fa27297583b8440ca773e516291934f6d;p=thirdparty%2Fsquid.git Validate mime icon URL before allocating store entries --- diff --git a/src/mime.cc b/src/mime.cc index a070e3213b..b24443f82c 100644 --- a/src/mime.cc +++ b/src/mime.cc @@ -394,6 +394,11 @@ MimeIcon::created(StoreEntry *newEntry) status = Http::scNoContent; } + const MasterXaction::Pointer mx = new MasterXaction(XactionInitiator::initIcon); + HttpRequest *r = HttpRequest::FromUrl(url_, mx); + if (!r) + fatalf("mimeLoadIcon: cannot parse internal URL: %s", url_); + // fill newEntry with a canned 2xx response object RequestFlags flags; flags.cachable = true; @@ -402,11 +407,6 @@ MimeIcon::created(StoreEntry *newEntry) EBIT_SET(e->flags, ENTRY_SPECIAL); e->setPublicKey(); e->buffer(); - const MasterXaction::Pointer mx = new MasterXaction(XactionInitiator::initIcon); - HttpRequest *r = HttpRequest::FromUrl(url_, mx); - - if (NULL == r) - fatalf("mimeLoadIcon: cannot parse internal URL: %s", url_); e->mem_obj->request = r; HTTPMSGLOCK(e->mem_obj->request);