Hi Gary,

Any update on this.
I think all non-major comments can be taken post FC also.
If you do not any major comments, I would not like to push it today.

Thanks,
Praveen

On 26-Aug-16 6:40 PM, praveen malviya wrote:
> Hi Gary,
>
> Please see inline with [Praveen].
>
> Thanks,
> Praveen
>
>
>
> On 26-Aug-16 6:25 PM, Gary Lee wrote:
>> Hi Praveen
>>
>>
>> On 26/08/2016 10:19 PM, praveen malviya wrote:
>>> Hi Gary,
>>>
>>> Thanks for the comments.
>>> Please see responses inline with [Praveen]
>>>
>>>
>>> Thanks,
>>> Praveen
>>>
>>>
>>>> +// GL: very similar version in d2nmsg.c. Also this isn't freeing the
>>>> SaNameTs attrs.list
>>> [Praveen] I did not get it completely.
>>>  The one in utils.cc is used by AMFD to free the message inside
>>> avd_d2n_msg_dequeue() and other one that is present in d2nmsg.c is
>>> used by AMFND to free the message.
>>> In utils.cc:  delete [] (compcsi->info.attrs.list) is already present.
>>> In d2nmsg.c: AMFND will have to free memory allocated for extended
>>> names names (if any)  by leap.
>>
>> I mean since 'list' is of type AVSV_ATTR_NAME_VAL, the SaNameTs inside
>> AVSV_ATTR_NAME_VAL are not freed.
> [Praveen] From utils.cc perpective it is connected with the below
> expalnation of memcpy(). Since we are using memcpy() we are not freeing
> in utils.cc for SaNameT for both SU_SI_ASSIGN message and this message.
> Since amfnd uses d2nmsg.cm it will free because in decoding there is
> allocation of memory by leap decoding APIs for SaNameT .
>
> I will do change for both SUSI assign and this new message.
> But in that case we do not require a separate function in utils.cc. We
> can directly use d2nmsg.cas it is generic. Do you agree?
>
> Also as of now these is not harming because we are not corrupting memory
> inside CSI->list_attributes even if there is any long dn configured.I
> will try to fix this on monday. otherwise post FC. Do you agree?
>
> Thanks,
> Praveen
>
>>>>  static void free_d2n_compcsi_info(AVSV_DND_MSG *compcsi_msg) {
>>>>    AVSV_D2N_COMPCSI_ASSIGN_MSG_INFO *compcsi =
>>>> &compcsi_msg->msg_info.d2n_compcsi_assign_msg_info;
>>>>
>>>> @@ -2030,6 +2031,7 @@
>>>>        /* Scan the list of attributes for the CSI and add it to the
>>>> message */
>>>>        while ((attr_ptr_db != nullptr) &&
>>>>                (ptr_csiattr_msg->number <
>>>> compcsi->csi->num_attributes)) {
>>>> +          // GL: AVSV_ATTR_NAME_VAL contains SaNameT. Does it need to
>>>> be deep copied.
>>> [Praveen] I got the same doubt while reviewing long dn patches because
>>> same mechamism is being done in avd_prep_csi_attr_info() for existing
>>> SUSI assign message. I thought it works because in case of long dn it
>>> will copy reference to the longdn and in case of short dn it will copy
>>> the original string. Since it is not freed in free_d2n_*() functions
>>> original referenced string in CSI is never gets corrupted.
>>> What do you think?
>>
>> Good point. We should fix avd_prep_csi_attr_info() too? I think there is
>> a danger the original SaNameT will no longer be available, since these
>> messages go into a queue that gets transmitted later?
>>
>> Thanks
>> Gary
>>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Opensaf-devel mailing list
> Opensaf-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel
>

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to