[PATCH v2 1/4] station: check return of handshake_state_set_pmksa
James Prestwood <[email protected]> Mon, 9 Mar 2026 08:36:26 -0700
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <[email protected]> |
If this fails num_pmkids and pmkids would get set, but to an
uninitialized buffer. This would then fail to build the handshake
object later when copying the PMKID.
---
src/station.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/station.c b/src/station.c
index 50997f5f..6c9e8d13 100644
--- a/src/station.c
+++ b/src/station.c
@@ -1378,9 +1378,13 @@ build_ie:
bss->ssid, bss->ssid_len,
info.akm_suites);
if (pmksa) {
- handshake_state_set_pmksa(hs, pmksa);
- info.num_pmkids = 1;
- info.pmkids = hs->pmksa->pmkid;
+ if (!handshake_state_set_pmksa(hs, pmksa)) {
+ l_warn("failed to set PMKSA to handshake");
+ pmksa_cache_free(pmksa);
+ } else {
+ info.num_pmkids = 1;
+ info.pmkids = hs->pmksa->pmkid;
+ }
}
}
--
2.34.1