Hi James,
On 2/8/21 3:18 PM, James Prestwood wrote:
---
src/fils.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/fils.c b/src/fils.c
index acead506..3917ca40 100644
--- a/src/fils.c
+++ b/src/fils.c
@@ -108,9 +108,11 @@ static void fils_erp_tx_func(const uint8_t *eap_data, size_t len,
ie_tlv_builder_init(&builder, ptr, sizeof(data) - 4);
- ie_parse_rsne_from_data(fils->hs->supplicant_ie,
+ if (ie_parse_rsne_from_data(fils->hs->supplicant_ie,
fils->hs->supplicant_ie[1] + 2,
- &rsn_info);
+ &rsn_info) < 0)
+ return;
+
This really shouldn't fail. We parse and check the rsne for errors when
building the handshake_state (
handshake_state_set_supplicant_ie). So it should be checked then.
If we're paranoid about this, I'd do the checking in fils_sm_new or fils_start
or something
rsne = alloca(256);
ie_build_rsne(&rsn_info, rsne);
Regards,
-Denis