From d186582d30a123e4f884c8d9a31c0387e019b076 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 17 Jan 2024 19:39:29 +0000 Subject: [PATCH] LibAudio: Avoid UAF when loading WAV metadata --- Userland/Libraries/LibAudio/WavLoader.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibAudio/WavLoader.cpp b/Userland/Libraries/LibAudio/WavLoader.cpp index 3f25ab2ed1..57fed364d6 100644 --- a/Userland/Libraries/LibAudio/WavLoader.cpp +++ b/Userland/Libraries/LibAudio/WavLoader.cpp @@ -298,7 +298,8 @@ MaybeLoaderError WavLoaderPlugin::parse_header() MaybeLoaderError WavLoaderPlugin::load_wav_info_block(Vector info_chunks) { for (auto const& chunk : info_chunks) { - auto metadata_name = chunk.id().as_ascii_string(); + auto chunk_id = chunk.id(); + auto metadata_name = chunk_id.as_ascii_string(); // Chunk contents are zero-terminated strings "ZSTR", so we just drop the null terminator. StringView metadata_text { chunk.data().trim(chunk.size() - 1) }; // Note that we assume chunks to be unique, since that seems to almost always be the case.