]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Validate mime icon URL before allocating store entries
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 8 Jul 2017 10:04:48 +0000 (22:04 +1200)
committerAmos Jeffries <yadij@users.noreply.github.com>
Fri, 24 Nov 2017 18:17:56 +0000 (07:17 +1300)
src/mime.cc

index a070e3213b5578d505927dbf798804beff67f3b1..b24443f82c7f70deefe517a1c3d954f4bb91d8a9 100644 (file)
@@ -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);