On Thu, Apr 18, 2013 at 10:50:55AM +0200, Pavel Březina wrote:
On 04/18/2013 10:48 AM, Pavel Březina wrote:
>On 04/12/2013 12:25 PM, Jakub Hrozek wrote:
>>https://fedorahosted.org/sssd/ticket/1799
>>
>>One peculiarity of the sysdb_attrs_get_el interface is that if the
>>attribute does not exist, then the attrs array is reallocated and the
>>element is created. But in case other pointers are already pointing
>>into the array, the realloc might invalidate them.
>>
>>One such case was in the sdap_process_ghost_members function where if
>>the group had no members, the "gh" pointer requested earlier might
have
>>been invalidated by the realloc in order to create the member element
>>
>>I'm actually pondering the idea of renaming the interface to make it
>>clear that if you request a nonexistent attr, the pointer already
>>pointing there might become invalid.
>
>Nack.
>
>Please, add a comment explaining that you just create a dummy element
>that have zero values. Or set memberel->value and num_values explicitly.
>
>Also, you don't really have to set memberel->name - it is not used
>anywhere and it doesn't add any semantic value. However, if you want to
>create a complete element, I'm ok with it.
>
That was the intent, yes, but the function is so small we don't have to care,
really. I added a comment and explicitly set memberel->value and num_values.
>Thanks.
Also the commit title is a little misleading. I thought that you
changed one of the sysdb functions.
Fixed the title.