SQLite: Fix temporary eap_user data freeing on interface restart

hapd->tmp_eap_user needs to be cleared on interface deinit to avoid
leaving stale pointers to freed memory.

Fixes: ee431d77a5 ("Add preliminary support for using SQLite for eap_user database")
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2021-03-06 11:44:38 +02:00
parent 3e735adf0b
commit 076e0abddb

View file

@ -1,6 +1,6 @@
/* /*
* hostapd / Initialization and configuration * hostapd / Initialization and configuration
* Copyright (c) 2002-2019, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2021, Jouni Malinen <j@w1.fi>
* *
* This software may be distributed under the terms of the BSD license. * This software may be distributed under the terms of the BSD license.
* See README for more details. * See README for more details.
@ -430,6 +430,7 @@ void hostapd_free_hapd_data(struct hostapd_data *hapd)
hapd->tmp_eap_user.identity_len); hapd->tmp_eap_user.identity_len);
bin_clear_free(hapd->tmp_eap_user.password, bin_clear_free(hapd->tmp_eap_user.password,
hapd->tmp_eap_user.password_len); hapd->tmp_eap_user.password_len);
os_memset(&hapd->tmp_eap_user, 0, sizeof(hapd->tmp_eap_user));
#endif /* CONFIG_SQLITE */ #endif /* CONFIG_SQLITE */
#ifdef CONFIG_MESH #ifdef CONFIG_MESH