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
