Re: double free when stoping a https server

Martin Simmons <[email protected]> Wed, 23 Mar 2011 12:22:28 GMT
Newsgroups gmane.lisp.cl-http
Message-ID <[email protected]>
>>>>> On Wed, 23 Mar 2011 19:16:47 +0800, Chun Tian (binghe) said:
> 
> I found my HTTPS server always throw following double free (or corruption)
> error when stoping a HTTPS server, please take a look at it:
> 
> ...snip...
> 
> Call to FLI:FREE-FOREIGN-OBJECT (offset 71)
>   FLI::POINTER : #<Pointer: COMM:X509-NAME-POINTER-STACK = #x023D57C0>
> 
> Call to (METHOD HTTP::SSL-CTX-DEINITIALIZE (HTTP::HTTPS-SERVICE)) (offset 336)
>   HTTP::SERVICE : #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>
>   DBG::|or-|    : NIL

I suggest removing this call to FLI:FREE-FOREIGN-OBJECT.  It wrong for two
reasons:

1) The client-ca-list-ptr is a complex data structure so can't be freed
directly.

2) Once associated with a ssl-ctx (by COMM:SSL-CTX-SET-CLIENT-CA-LIST), it is
freed automatically when the ssl-ctx is destroyed.

-- 
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/

_______________________________________________
WWW-CL mailing list
[email protected]
https://lists.csail.mit.edu/mailman/listinfo/www-cl