Re: [PATCH kmod] libkmod-signature: implement pkcs7 parsing with openssl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 29, 2019 at 11:50:05AM +0200, Yauheni Kaliuta wrote:
Hi, Lucas!

On Mon, 28 Jan 2019 10:05:24 -0800, Lucas De Marchi  wrote:
> On Sat, Jan 26, 2019 at 3:01 AM Yauheni Kaliuta
> <yauheni.kaliuta@xxxxxxxxxx> wrote:
>>

[...]
>> >> +
>> >> +       pvt->cms = cms;
>> >> +       pvt->key_id = key_id_str;
>> >> +       pvt->sno = sno_bn;
>> >> +       sig_info->private = pvt;
>>
>> > why do you keep pvt around if the only thing you will do with
>> > it later is to free it?
>> > AFAICS the only thing that needs to remain around is the str
>> > so we can free it after the user used it (because normal
>> > signature is backed in memory by the mem object, while these
>> > are openssl structs)
>>
>> I should keep them until kmod_module_get_info() makes the copies.
>>
>> cms is openssl struct
>> sno_bn is allocated by openssl and must be freed later
>> key_id_str is allocated here since the size in unknown in advance
>> and must be freed later.
>>
>> Or what did I miss?

> we could just duplicate the information that we want stored and keep
> the openssl context contained
> to just this function. I thought the only one would be key_str_id, but
> missed that sig and signer
> also need to have their backing object around.

If I duplicate it here then without cleanup I'll have memory
leak, no?

yes, my idea was to just leave it simpler and add a

if (pkcs7)
       free(key_id)

Lucas De Marchi


In the old code they were pointers inside the module image and
freed with the image itself.

--
WBR,
Yauheni Kaliuta



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux