diff options
author | Max Kellermann <max@duempel.org> | 2013-11-22 00:02:17 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-11-22 00:02:17 +0100 |
commit | 67b8124a1d34c2fa850005317503663407b9648e (patch) | |
tree | 5d8233b2e2aad2b80a3b28d3d0345e38f5bdea06 | |
parent | 51ec499c89ae62f366fbdfe08c87a05384905e2e (diff) | |
download | mpd-67b8124a1d34c2fa850005317503663407b9648e.tar.gz mpd-67b8124a1d34c2fa850005317503663407b9648e.tar.xz mpd-67b8124a1d34c2fa850005317503663407b9648e.zip |
Mapper: _get_music_directory_utf8() may return nullptr
If no music_directory is configured, return nullptr instead of an
empty string. This fixes a crash when db_file is configured without
music_directory.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/Mapper.cxx | 4 | ||||
-rw-r--r-- | src/Mapper.hxx | 3 |
3 files changed, 7 insertions, 2 deletions
@@ -1,4 +1,6 @@ ver 0.18.5 (20??/??/??) +* configuration + - fix crash when db_file is configured without music_directory * decoder - fluidsynth: auto-detect by default * fix ia64, mipsel and other little-endian architectures diff --git a/src/Mapper.cxx b/src/Mapper.cxx index 08597732a..cbe45daa0 100644 --- a/src/Mapper.cxx +++ b/src/Mapper.cxx @@ -133,7 +133,9 @@ void mapper_finish(void) const char * mapper_get_music_directory_utf8(void) { - return music_dir_utf8.c_str(); + return music_dir_utf8.empty() + ? nullptr + : music_dir_utf8.c_str(); } const AllocatedPath & diff --git a/src/Mapper.hxx b/src/Mapper.hxx index be69a7110..947fd2822 100644 --- a/src/Mapper.hxx +++ b/src/Mapper.hxx @@ -41,7 +41,8 @@ mapper_init(AllocatedPath &&music_dir, AllocatedPath &&playlist_dir); void mapper_finish(void); /** - * Return the absolute path of the music directory encoded in UTF-8. + * Return the absolute path of the music directory encoded in UTF-8 or + * nullptr if no music directory was configured. */ gcc_const const char * |