]> 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 <squid3@treenet.co.nz>
Sat, 8 Jul 2017 10:04:48 +0000 (22:04 +1200)
src/mime.cc

index 063513dcbae89af4cf5be5b66ba74a3c667567dc..7b5b650af93f9ce00b9eb2d43e1fa9c222c1a352 100644 (file)
@@ -394,6 +394,11 @@ MimeIcon::created(StoreEntry *newEntry)
         status = Http::scNoContent;
     }
 
+    const MasterXaction::Pointer mx = new MasterXaction(XactionInitiator::initIcon);
+    HttpRequestPointer 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;
@@ -403,11 +408,6 @@ MimeIcon::created(StoreEntry *newEntry)
     e->setPublicKey();
     e->buffer();
 
-    const MasterXaction::Pointer mx = new MasterXaction(XactionInitiator::initIcon);
-    HttpRequestPointer r(HttpRequest::FromUrl(url_, mx));
-    if (!r)
-        fatalf("mimeLoadIcon: cannot parse internal URL: %s", url_);
-
     e->mem_obj->request = r;
 
     HttpReplyPointer reply(new HttpReply);