Print

Print


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.

On Fri, Sep 17, 2010 at 9:12 PM, Andrew Hanushevsky <[log in to unmask]> wrote:
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.