From 2732dd3633b00bf3d90eb946f9df380ad9020fd8 Mon Sep 17 00:00:00 2001 From: Stephan Vedder Date: Mon, 27 Nov 2023 10:12:47 +0100 Subject: [PATCH] LibVideo: Fix string reading in Matroska A string should never be longer than it's strlen according to the specification --- Userland/Libraries/LibVideo/Containers/Matroska/Reader.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibVideo/Containers/Matroska/Reader.cpp b/Userland/Libraries/LibVideo/Containers/Matroska/Reader.cpp index e5091ee2d3..754e55ee35 100644 --- a/Userland/Libraries/LibVideo/Containers/Matroska/Reader.cpp +++ b/Userland/Libraries/LibVideo/Containers/Matroska/Reader.cpp @@ -985,7 +985,8 @@ ErrorOr Streamer::read_string() auto string_length = TRY(read_variable_size_integer()); if (remaining() < string_length) return Error::from_string_literal("String length extends past the end of the stream"); - auto string_value = DeprecatedString(data_as_chars(), string_length); + auto string_data = data_as_chars(); + auto string_value = DeprecatedString(string_data, strnlen(string_data, string_length)); TRY(read_raw_octets(string_length)); return string_value; }