Hi Andreas,
Thanks for pointing that out. Another solution is to set statisID to zero
to avoid the double-free. Hmmm, never got into a situation of a double
hand-shake.
Andy
On Fri, 17 Sep 2010, Andreas-Joachim Peters wrote:
> Hi,
>
> I get SEGVs using XrdSecsss with the origin in the Deletion function:
>
>
> char *XrdSecProtocolsss::staticID = 0;
>
> void XrdSecProtocolsss::Delete() {
> ....
> if (staticID) free(staticID);
>
> }
>
> My understanding of the problem is the following:
> the staticID (for the client) is once set in the protocol initialization
> function, then it get's deleted after the first sss handshake.
>
> Whenever there is a second hanshake within the same application it SEGVs in
> the Delete function.
> So, I would just remove the free of the static member ?!?!?
>
> Cheers Andreas.
>
|