[wlanif] Fix handling of large rate array

Fix handling when more than WLAN_MAC_MAX_RATES rates are passed to
ConvertRateSets. Instead of reading outside the bounds of the rate
array and allocating memory indefinitely, it now restricts operation
to the maximum allowable number of rates (and asserts in a debug
build).

WLAN-1135

TEST: Verified manually using the reproduction instructions from
      WLAN-1135 (replaying invalid frames via scapy). This patch
      also adds a new unit test for the case.
Change-Id: I666a4819cf6b27c76ec75fbe1cab1580db875da1
5 files changed
tree: 5368029b3b4b434667176c8cf2a60a487883abe4
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.