[roll] Roll fuchsia [audio][adr] ControlServer, Device, Inspect fixes

This CL addresses three reliability (or security) defects:

- Fix heap-use-after-free in ControlServer callbacks by capturing
  std::weak_ptr<ControlServer> instead of raw `this`, and checking
  lock validity before touching completer maps.
- Fix std::nullopt dereference when Control.SetDaiFormat is called
  twice on Composite devices by asserting dai_format_is_set() in
  Device::codec_format_info.
- Fix uninitialized stack residue leak into Inspect VMO by adding
  has_value() guards to SaveNodeBoolean, SaveNodeUint, SaveNodeInt,
  and SaveNodeDouble in inspector.cc.

Additionally, this CL cleans up test and logging behavior:
- Move ClientCloseDuringCreateRingBuffer to warning unittests because
  client teardown during pending requests intentionally emits warnings.
- Fix ClientCloseDuringCreateRingBuffer by attaching a .Then handler,
  specifying .format options, and re-initializing loop clients.
- Use ADR_WARN_STATIC instead of ADR_WARN_OBJECT in ControlServer
  callbacks when shared_self is null (object destroyed), avoiding
  dangling pointer evaluation of `this`.
- Switch ADR_WARN_STATIC to ADR_WARN_OBJECT in ControlServer teardown.
- Add CompleteCreateRingBuffer helper to FakeComposite.
- Combine ChangedElementStateDynamicsOptionalFieldsAbsent into
  ChangedElementStateDynamics and expand initial/changed Dynamics test
  assertions across multiple bands.

New and updated unit test cases:
- ControlServerCompositeWarningTest.ClientCloseDuringCreateRingBuffer
- InspectorTest.ChangedElementStateDynamics
- InspectorTest.InitialElementStateDynamics

Original-Original-Fixed: 521639810
Original-Original-Fixed: 521639827
Original-Original-Fixed: 521640029
Test: audio_services_device_registry_unittests
Test: audio_services_device_registry_warning_unittests
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1687257
Original-Original-Revision: c2083aec7849fc839a3b2848cad1e26c3d4575a6
GitOrigin-RevId: 24097396f1839fb2e1beb7664dd5c4763b764c52
Change-Id: I333834d6fe21d0c1e6fd02159ca2e9559e841c80
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1688518
Cr-Commit-Position: refs/heads/main@{#196039}
1 file changed
tree: db09166f01646c6902aca043339633fc090af66b
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.