Hello Ghislain Garcon,

on Mon, 28 Nov 2005, Ghislain Garcon wrote:

> Hello,
> 
>     I've made a check out this morning of squid 3 and I've tried to add
> ICAP access rules.
> When I set : icap_access class_0 allow all
> and I launch squid -z to create swap files I get a core dump in file
> acl.cc line 339
> 
> If I comment only this ICAP Access rule, parsing finishes normally.
> 
> I've no more investigated but here is gdb output :
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0804e294 in aclParseAccessLine (head=0x83108d0) at acl.cc:339
> 339         for (B = *head, T = head; B; T = &B->next, B = B->next);
> (gdb) bt
> #0  0x0804e294 in aclParseAccessLine (head=0x83108d0) at acl.cc:339
> #1  0x0811c8d0 in ICAPConfig::parseICAPAccess (this=0x82a6a20)
>     at ICAPConfig.cc:346
> #2  0x08069e92 in parse_icap_access_type (cfg=0x82a6a20) at cache_cf.cc:3398
> #3  0x0806dc91 in parse_line (buff=0x83108a0 "icap_access")
>     at cf_parser.h:1560
> #4  0x0806ea57 in parseConfigFile (
>     file_name=0x82cf908 "/usr/local/squid3/etc/squid.conf") at
> cache_cf.cc:364
> #5  0x080ca565 in main (argc=2, argv=0xbfb8b044) at main.cc:1009

Perhaps try this patch, it solved the bug for me:

Index: ICAPConfig.h
===================================================================
RCS file: /cvsroot/squid/squid3/src/ICAP/ICAPConfig.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 ICAPConfig.h
--- ICAPConfig.h        21 Nov 2005 21:05:51 -0000      1.1.2.1
+++ ICAPConfig.h        22 Nov 2005 11:52:06 -0000
@@ -51,7 +51,7 @@
 
     Vector<ICAPServiceRep::Pointer> services;
 
-    ICAPClass() : key(NULL) {};
+    ICAPClass() : key(NULL), accessList(NULL) {};
 
     int prepare();
 };


Cheers,
Ralf

Reply via email to