From 9f16c798d02d23bccbf463b78bfb228ccc666e11 Mon Sep 17 00:00:00 2001 From: Ryan Walklin Date: Thu, 17 Aug 2017 20:57:59 +1000 Subject: [PATCH] Fix std::string read after free in read_stream_art --- src/command/FileCommands.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/command/FileCommands.cxx b/src/command/FileCommands.cxx index ac8e805e3..b8623395b 100644 --- a/src/command/FileCommands.cxx +++ b/src/command/FileCommands.cxx @@ -266,12 +266,12 @@ find_stream_art(const char *directory, Mutex &mutex, Cond &cond) static CommandResult read_stream_art(Response &r, const char *uri, size_t offset) { - const char *art_directory = PathTraitsUTF8::GetParent(uri).c_str(); + std::string art_directory = PathTraitsUTF8::GetParent(uri); Mutex mutex; Cond cond; - InputStreamPtr is = find_stream_art(art_directory, mutex, cond); + InputStreamPtr is = find_stream_art(art_directory.c_str(), mutex, cond); if (is == nullptr) { r.Error(ACK_ERROR_NO_EXIST, "No file exists");