Search squid archive

Re: [PATCH] crash with squid 3.5.5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amos,

My attached patch (according to your previous instructions) has solved the ESI problem. It's probably related.

William

----- Mensagem original -----
De: "Amos Jeffries" <squid3@xxxxxxxxxxxxx>
Para: squid-users@xxxxxxxxxxxxxxxxxxxxx
Enviadas: Quarta-feira, 17 de Fevereiro de 2016 10:39:22
Assunto: Re:  crash with squid 3.5.5

On 18/02/2016 12:57 a.m., Paul Martin wrote:
> Hello,
> 
> I got a problem with squid 3.5.5. It crashes on kid3 after visiting "
> www.oggi.it" site.
> 
> Here the cache.log:
> 2016/02/16 10:12:40 kid3| ctx: enter level  0: '
> http://www.oggi.it/global_assets/js/plugins.js?v=1.6'
> 2016/02/16 10:12:40 kid3|
> 
> *assertion failed: String.cc:174: "len_ + len < 65536"*
> Can you explain me how to fix the problem ?

Please try the latest 3.5.14 release. There have been _some_ of these
fixed. (But we have just had another one found so no guarantee yet about
yours.)

Amos

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users
--- squid-3.5.13/src/esi/CustomParser.cc	2016-01-07 01:21:47.000000000 -0200
+++ squid-3.5.13/src/esi/CustomParser.cc	2016-02-03 12:57:36.334098062 -0200
@@ -89,9 +89,9 @@ ESICustomParser::parse(char const *dataT
     }
 
     size_t openESITags (0);
-    //erring on the safe side. Probably rawBuf would be ok too
-    char const *currentPos = content.termedBuf();
-    size_t remainingCount = content.size();
+    //erring on the safe side. Probably rawContent would be ok too
+    char const *currentPos = content.c_str();
+    SBuf::size_type remainingCount = content.length();
     char const *tag = NULL;
 
     while ((tag = findTag(currentPos, remainingCount))) {
--- squid-3.5.13/src/esi/CustomParser.h	2016-01-07 01:21:47.000000000 -0200
+++ squid-3.5.13/src/esi/CustomParser.h	2016-02-03 12:57:36.334098062 -0200
@@ -14,7 +14,7 @@ class Trie;
 /* inherits from */
 #include "esi/Parser.h"
 
-/* for String variables */
+#include "SBuf.h"
 #include "SquidString.h"
 
 /**
@@ -46,7 +46,7 @@ private:
     ESIParserClient *theClient;
     String error;
     /* cheap n dirty - buffer it all */
-    String content;
+    SBuf content;
     /* TODO: make a class of this type code */
     ESITAG_t lastTag;
 };
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux