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" <[email protected]>
Para: [email protected]
Enviadas: Quarta-feira, 17 de Fevereiro de 2016 10:39:22
Assunto: Re: [squid-users] 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
[email protected]
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
[email protected]
http://lists.squid-cache.org/listinfo/squid-users