diff options
author | Max Kellermann <max@musicpd.org> | 2020-11-06 15:33:46 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2020-11-06 15:35:47 +0100 |
commit | f849b07766e090baaf3a28701c5470b14f7e26fd (patch) | |
tree | f75980913fea181774e890370a0dfbcf4542dd30 | |
parent | 2da3cff1e8a5e1558d47a8493eaa9503b2d56b9e (diff) |
storage/curl: fix nullptr dereference
Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting
it to std::string_view. This selects the right overload which returns
std::string_view instead of `const char *`; the latter could return
`nullptr` which would cause the implicit conversion of the return
value to std::string_view to crash.
Regression caused by commits ead208987dd and a98d627c0bd.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/995
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/storage/plugins/CurlStorage.cxx | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -1,6 +1,8 @@ ver 0.22.3 (not yet released) * playlist - add option "as_directory", making CUE file expansion optional +* storage + - curl: fix crash bug * filter - fix garbage after "Audio format not supported by filter" message - ffmpeg: support planar output diff --git a/src/storage/plugins/CurlStorage.cxx b/src/storage/plugins/CurlStorage.cxx index e6de47f11..5d7292085 100644 --- a/src/storage/plugins/CurlStorage.cxx +++ b/src/storage/plugins/CurlStorage.cxx @@ -80,7 +80,7 @@ std::string_view CurlStorage::MapToRelativeUTF8(std::string_view uri_utf8) const noexcept { return PathTraitsUTF8::Relative(base, - CurlUnescape(uri_utf8).c_str()); + CurlUnescape(uri_utf8)); } class BlockingHttpRequest : protected CurlResponseHandler { |