Hi Andy,
to set it to zero is not a solution because you don't want to loose the static client ID. I think it should be once set and never touched again.
Cheers Andreas.
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.