From 67b8124a1d34c2fa850005317503663407b9648e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 22 Nov 2013 00:02:17 +0100 Subject: [PATCH] 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. --- NEWS | 2 ++ src/Mapper.cxx | 4 +++- src/Mapper.hxx | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 8fc7435ae..8a433e202 100644 --- a/NEWS +++ b/NEWS @@ -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 *