Reason for giving this RFC patch was that it is not handled in 
add_or_replace_bss_to_network function in the following case.
Failure in create_group or g_try_new0 .

On Monday 29 June 2015 04:13 PM, Patrik Flykt wrote:
> On Tue, 2015-06-23 at 16:01 +0530, Harish Jenny K N wrote:
>> Handle the failure in add_or_replace_bss_to_network by
>> removing the entries from hash tables.
>>
>> ---
>>  gsupplicant/supplicant.c |    8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
>> index 38cbad1..06e9954 100755
>> --- a/gsupplicant/supplicant.c
>> +++ b/gsupplicant/supplicant.c
>> @@ -2483,6 +2483,14 @@ static void signal_bss_changed(const char *path, 
>> DBusMessageIter *iter)
>>              memcpy(new_bss, bss, sizeof(struct g_supplicant_bss));
>>              new_bss->path = g_strdup(bss->path);
>>  
>> +            /* Remove entries in hash tables to handle the
>> +             * failure in add_or_replace_bss_to_network
>> +             */
>> +            g_hash_table_remove(bss_mapping, path);
>> +
>> +            g_hash_table_remove(interface->bss_mapping, path);
>> +            g_hash_table_remove(network->bss_table, path);
>> +
>>              g_hash_table_remove(interface->network_table, network->group);
>>  
>>              add_or_replace_bss_to_network(new_bss);
> The above hash table manipulations are handled in
> add_or_replace_bss_to_network() by replacing the old value with new_bss.
>
> Cheers,
>
>       Patrik
>
> _______________________________________________
> connman mailing list
> [email protected]
> https://lists.connman.net/mailman/listinfo/connman

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to