From c563efcd1c05a9898ba52be6e8ed53493fc58612 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 23 Mar 2026 22:57:49 +0200 Subject: [PATCH] AudioServer: Query pins of the asked device and not the current one --- userspace/programs/AudioServer/AudioServer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/userspace/programs/AudioServer/AudioServer.cpp b/userspace/programs/AudioServer/AudioServer.cpp index 2d7fc480..6478d390 100644 --- a/userspace/programs/AudioServer/AudioServer.cpp +++ b/userspace/programs/AudioServer/AudioServer.cpp @@ -68,7 +68,12 @@ bool AudioServer::on_client_packet(int fd, LibAudio::Packet packet) response = m_audio_devices.size(); break; case LibAudio::Packet::QueryPins: - response = device().total_pins; + if (packet.parameter >= m_audio_devices.size()) + { + dwarnln("Client tried to get pins of device {} while there are only {}", packet.parameter, m_audio_devices.size()); + return false; + } + response = m_audio_devices[packet.parameter].total_pins; break; case LibAudio::Packet::GetDevice: response = m_current_audio_device;