Message ID | 20240625130624.385553-1-prestwoj@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [1/7] netdev: use nl80211_parse_attrs for deauth event | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
prestwoj/iwd-alpine-ci-fetch | success | Fetch PR |
prestwoj/iwd-ci-fetch | success | Fetch PR |
prestwoj/iwd-alpine-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-gitlint | success | GitLint |
prestwoj/iwd-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-alpine-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-ci-build | success | Build - Configure |
prestwoj/iwd-alpine-ci-build | success | Build - Configure |
prestwoj/iwd-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-clang | success | clang PASS |
prestwoj/iwd-alpine-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-alpine-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-alpine-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-ci-testrunner | success | test-runner PASS |
diff --git a/src/netdev.c b/src/netdev.c index 5b79d267..bada1ab5 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -1328,12 +1328,10 @@ static void netdev_cmd_disconnect_cb(struct l_genl_msg *msg, void *user_data) static void netdev_deauthenticate_event(struct l_genl_msg *msg, struct netdev *netdev) { - struct l_genl_attr attr; - uint16_t type, len; - const void *data; const struct mmpdu_header *hdr = NULL; const struct mmpdu_deauthentication *deauth; uint16_t reason_code; + struct iovec iov; l_debug(""); @@ -1349,17 +1347,11 @@ static void netdev_deauthenticate_event(struct l_genl_msg *msg, * deauthenticating immediately afterwards */ - if (L_WARN_ON(!l_genl_attr_init(&attr, msg))) + if (L_WARN_ON(nl80211_parse_attrs(msg, NL80211_ATTR_FRAME, &iov, + NL80211_ATTR_UNSPEC) < 0)) return; - while (l_genl_attr_next(&attr, &type, &len, &data)) { - switch (type) { - case NL80211_ATTR_FRAME: - hdr = mpdu_validate(data, len); - break; - } - } - + hdr = mpdu_validate(iov.iov_base, iov.iov_len); if (L_WARN_ON(!hdr)) return;