On 07-Sep-10 10:51 PM, Sasha Khapyorsky wrote:
> On 17:52 Tue 07 Sep , Yevgeny Kliteynik wrote:
>> p_key is a parameter, and it is char[].
>> It shouldn't be freed here.
>
> I don't see this. st_delete() call:
>
> if (st_delete(p_domain_imp->p_hash,
> (void *)&p_key, (void *)&p_prev_val)) {
> ...
> free(p_key);
> ...
> }
>
> overwrites those value by pointers to key values stored in the hash
> table (then 1 is returned).
Oh, you're right. I was following the function
parameter itself and missed this part.
-- Yevgeny
> Sasha
>
>>
>> Signed-off-by: Yevgeny Kliteynik<[email protected]>
>> ---
>> opensm/opensm/osm_db_files.c | 1 -
>> 1 files changed, 0 insertions(+), 1 deletions(-)
>>
>> diff --git a/opensm/opensm/osm_db_files.c b/opensm/opensm/osm_db_files.c
>> index dd9f772..c475004 100644
>> --- a/opensm/opensm/osm_db_files.c
>> +++ b/opensm/opensm/osm_db_files.c
>> @@ -582,7 +582,6 @@ int osm_db_delete(IN osm_db_domain_t * p_domain, IN char
>> *p_key)
>> p_key, p_domain_imp->file_name, p_prev_val);
>> res = 1;
>> } else {
>> - free(p_key);
>> free(p_prev_val);
>> res = 0;
>> }
>> --
>> 1.6.2.4
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html