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.
>>
>>