Hi,

On Thu, Feb 22, 2018 at 4:47 PM, Steffan Karger <stef...@karger.me> wrote:
> Hi,
>
> On 26-01-18 16:53, selva.n...@gmail.com wrote:
>> From: Selva Nair <selva.n...@gmail.com>
>>
>> - Also add reference counting to CAPI_DATA (application data):
>>
>>   When the application data is assigned to the private key
>>   we free it in the key's finish method. Proper error handling
>>   requires to keep track of whether data is assigned to the
>>   key or not before an error occurs. For this purpose, add a
>>   reference count to CAPI_DATA struct and increment it when it is
>>   assigned to the key or its method.
>>

..

>> -    /* SSL_CTX_use_RSAPrivateKey() increased the reference count in 'rsa', 
>> so
>> -    * we decrease it here with RSA_free(), or it will never be cleaned up. 
>> */
>> -    RSA_free(rsa);
>> +    cd->ref_count--; /* so that cd will get freed with the private key */
>
> Would a call to CAPI_DATA_free() - effectively the same - not be more
> clear?  I'll let you decide, I'm okay with this too.

Very true. I wonder why I didn't write it so in the first place.. Will
ponder a bit and do a v3.

>
>>      return 1;
>>
>>  err:
>> -    if (cert)
>> -    {
>> -        X509_free(cert);
>> -    }
>> -    if (rsa)
>> -    {
>> -        RSA_free(rsa);
>> -    }
>> -    else
>> -    {
>> -        if (my_rsa_method)
>> -        {
>> -            free(my_rsa_method);
>> -        }
>> -        CAPI_DATA_free(cd);
>> -    }
>> +    CAPI_DATA_free(cd);
>>      return 0;
>>  }
>>
>>
>
> Code looks good, and works as expected on my Win10 test machine.
>
> Accepted-by: Steffan Karger <stef...@karger.me>

Wonder what "Accepted-by" does on patchwork...

Thanks for the review.

Selva

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to